遇到了这样的问题
select * from tabledeclare @tablename nvarchar(50)
set @tablename='table1'
select * from @tablename提示错误用整个拼接就没问题
declare @sql nvarchar(100),@tablename nvarchar(50)
set @tablename='table1'
set @sql='select * from '+@tablename
exec (@sql)
exec (@sql) 要用在游标当中declare name cursor for exec (@sql)又提示是错误的select * from @tablename 这种实现格式要怎样才能实现?
select * from tabledeclare @tablename nvarchar(50)
set @tablename='table1'
select * from @tablename提示错误用整个拼接就没问题
declare @sql nvarchar(100),@tablename nvarchar(50)
set @tablename='table1'
set @sql='select * from '+@tablename
exec (@sql)
exec (@sql) 要用在游标当中declare name cursor for exec (@sql)又提示是错误的select * from @tablename 这种实现格式要怎样才能实现?
declare @sql varchar(2000);
set @tabname='dbo.customers';
set @sql='declare c cursor global for select * from '+@tabname;
exec(@sql);open c;fetch next from c;
while @@fetch_status=0
begin
fetch next from c;
endclose c;
deallocate c;
declare @sql nvarchar(2000);
set @tabname=N'dbo.Employees';
set @sql=N'set @c=cursor for select * from '+@tabname+'; open @c;';declare @cur cursor;
exec sp_executesql @sql,N'@c cursor output',@cur output;fetch next from @cur;
while @@fetch_status=0
begin
fetch next from @cur;
end
学习!