sqlserver function不能执行sp_executesql
时间:2011-12-13
来源:互联网
大致思路如下
select a.column1,a.column2,(子查询的funciton) from table_1 a where a.column1=''
因为这类情况很多,function如果写死表名的话会需要写几十个几百个类似的函数,就想用动态sql拼接
但是执行的时候提示说function里不能使用sp_executesql
于是改成存储过程
但是存储过程怎样在查询语句中进行调用呢?
过程如下,执行结果也OK
ALTER PROCEDURE [dbo].[sp_as_unionCommon]
-- Add the parameters for the stored procedure here
@keyValue int,
@relaTableName nvarchar(256),
@relaColumn nvarchar(256),
@relaColumnValue nvarchar(256),
@getColumn nvarchar(256),
@nameTableName nvarchar(256),
@nameColumn nvarchar(256),
@nameRelColumn nvarchar(256),
@outStr nvarchar(max) output
AS
BEGIN
-- Declare the return variable here
DECLARE @SqlStr nvarchar(MAX) = '',
@str nvarchar(MAX) = ''
if @keyValue=0
begin
select @sqlStr ='SELECT @str+='',''+cast (a.' + @getColumn + ' as nvarchar) from ' + @relaTableName + ' a
where a.' + @relaColumn + '=' +@relaColumnValue ;
end
else
begin
select @sqlStr ='SELECT @str+='',''+(select ' + @nameColumn +
' from ' + @nameTableName +
' where ' + @nameRelColumn + '=a.' + @getColumn +
' ) from ' + @relaTableName + ' a
where a.' + @relaColumn + '=' +@relaColumnValue ;
end
EXEC sp_executesql @sqlStr,N'@str nvarchar(max) output',@str=@str output;
SET @outStr = stuff(@str,1,1,'')
END
作者: ymyinying 发布时间: 2011-12-13
作者: roy_88 发布时间: 2011-12-13
作者: roy_88 发布时间: 2011-12-13
但是我的问题是我如何能实现那个子查询
作者: ymyinying 发布时间: 2011-12-13
作者: Beirut 发布时间: 2011-12-13
但是不知如何在子查询语句里调用
作者: ymyinying 发布时间: 2011-12-13
insert into #tb exex(@sql)
作者: fredrickhu 发布时间: 2011-12-13
是存在一个select子查询里的
最后返回的是这个select结果集。。。
作者: ymyinying 发布时间: 2011-12-13
作者: guguda2008 发布时间: 2011-12-13
哭~~~
作者: ymyinying 发布时间: 2011-12-13
beirut我写了个存储过程
但是不知如何在子查询语句里调用
那真的无解了

作者: Beirut 发布时间: 2011-12-13
作者: Beirut 发布时间: 2011-12-13
作者: ymyinying 发布时间: 2011-12-13
不过不晓得公司允不允许这么做,我去问问
作者: ymyinying 发布时间: 2011-12-13
作者: szstephenzhou 发布时间: 2011-12-13
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28