代码如下:
ALTER PROCEDURE dbo.pdpd_DynamicCall
@SQLString varchar(4096) = null
AS
Begin
create TABLE #T1 ( column_1 varchar(10) , column_2 varchar(100) )
insert into #T1
execute ('execute ' + @SQLString )
select * from #T1
End
问题是我想调用可以返回不同列的不同过程。
因此我必须通用地定义表#T1。
但我不知道怎么办。
谁能帮我解决这个问题吗?
Try:
SELECT into #T1 execute ('execute ' + @SQLString )
这听起来真的很糟糕,就像 SQL 注入漏洞一样。
更正(根据@CarpeDiem 的评论):
INSERT into #T1 execute ('execute ' + @SQLString )
另外,省略'execute'
如果 sql 字符串不是过程
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)