我无法找到问题的完整解决方案 . 我有一个现有的存储过程,它将动态输入作为参数值 . 我需要执行此过程(使用动态变量)并且想要以某种方式SELECT * INTO #mytable而不必声明临时表的模式 .
我尝试过使用OPENROWSET,但它不允许我指定变量(只对其进行硬编码):
select * into #table from openrowset('SQLNCLI', 'Server=localhost;Trusted_Connection=yes;', 'exec SERVER..MYSTOREDPROCEDURE @parameter = 123')
我所知道的唯一另一种方法是将它包装在一个字符串中并使用EXEC(@sql),但我无法弄清楚如何从中选择“SELECT * INTO #table” .
我有什么选择?我可以创建一个可以返回动态表的UDF表函数吗?疑...
2 回答
我在这里猜测,但你需要在动态SQL中完成所有工作 . 所以,相反,像:
我想我想通了 . 我真的只需修改临时变量名称就可以将临时表放入全局范围 . 这适用于我的实际表格(我为了这篇文章的目的将其重命名) .