例子:动态SQL中使用临时表
--定义计数器和动态SQL字符串
DECLARE @itCount INT=0;
DECLARE @STRSQL NVARCHAR(MAX) =NULL;
--创建临时表
IF object_id('tempdb..#MYTABLE') IS NOT NULL
DROP TABLE #MYTABLE
CREATE TABLE #MYTABLE(strName nvarchar(50),strPass nvarchar(50));
--循环给临时表赋值
WHILE @itCount < 100
BEGIN
SET @itCount=@itCount +1;
INSERT #MYTABLE VALUES('STR:'+ CAST(@itCount AS NVARCHAR), @itCount);
END
--动态执行SQL字符串
SET @STRSQL='SELECT * FROM #MYTABLE'
EXECUTE(@STRSQL);
附加:目前测试的结果是动态SQL里无法查询表变量。故而将临时表作为临时数据的处理容器。
如有好的建议,欢迎提出。