如何在动态sql中使用表变量名?

时间:2014-06-25 09:12:40

标签: sql-server

我有一个表变量,我想将其转换为VARCHAR,以便可以在动态SQL语句中使用它。这是我正在尝试做的简单版本,我的实际SQL远比这复杂。

DECLARE @tmpSearchTerms TABLE (searchTerm VARCHAR(100))

SET @SQL = ' SELECT * FROM ' + CAST (@tmpSearchTerms AS VARCHAR)

EXEC (@SQL)

1 个答案:

答案 0 :(得分:-1)

您无法使用表变量执行操作,因此请使用#temp表,请查看此示例代码:

create table #tmpSearchTerms (searchTerm VARCHAR(100))
insert into #tmpSearchTerms(searchTerm) values('test record')

declare @SQL nvarchar(300)

set @SQL = ' SELECT * FROM #tmpSearchTerms'
exec (@SQL)

drop table #tmpSearchTerms