我有一个表变量,我想将其转换为VARCHAR,以便可以在动态SQL语句中使用它。这是我正在尝试做的简单版本,我的实际SQL远比这复杂。
DECLARE @tmpSearchTerms TABLE (searchTerm VARCHAR(100))
SET @SQL = ' SELECT * FROM ' + CAST (@tmpSearchTerms AS VARCHAR)
EXEC (@SQL)
答案 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