我想在动态SQL下面声明一个游标,但是当我尝试在存储过程中编译它时,下面的SQL失败了。有一个更好的方法吗?感谢。
DECLARE selrec CURSOR FOR
SELECT DISTINCT countrycode FROM @InputTableName;
错误消息: -
Must declare the table variable "@InputTableName".
PS: - 我声明了变量名称,并且我在构建游标之前设置了值。
答案 0 :(得分:0)
这对我来说很好(在这两个表的数据库中):
declare @i1 int=5
declare @a1 varchar(1000)
set @a1='select top 5 * from '
if (@i1 > 4)
begin
set @a1 = @a1 + ' [dbo].[dts_source]'
end
else
begin
set @a1 = @a1 + ' [dbo].[dts_references]'
end
select @a1
exec (@a1)
你在哪台SQL机器上运行(
立即执行
不是SQL Server语法)?