例子:动态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里无法查询表变量。故而将临时表作为临时数据的处理容器。

如有好的建议,欢迎提出。

posted @ 2011-08-17 13:34  China Soft  阅读(659)  评论(0编辑  收藏  举报