declare @tab table
(
id int,
a nvarchar(50)
)declare @sql nvarchar(500)
select @sql='insert into @aatab(id,a) select id,number from MemberInfo'exec sp_executesql @sql,N'@aatab table(id int,a nvarchar(50)) output',@tab outputselect * from @tab
错误:必须声明标量变量 "@tab"。
怎么解决啊??
(
id int,
a nvarchar(50)
)declare @sql nvarchar(500)
insert into @aatab(id,a) select id,number from MemberInfo'select * from @tab
将表变更放在@sql中。test:
declare @sql nvarchar(500)
select @sql='declare @tab table
(
id int,
a nvarchar(50)
)insert into @tab(id,a) select object_id,name from sys.objects select * from @tab 'exec sp_executesql @sql
drop table MemberInfo
create table MemberInfo(id int,number varchar(20))
insert into MemberInfo
select 1,'001' union all
select 2,'002'declare @tab table
(
id int,
a nvarchar(50)
)
declare @SQL NVARCHAR(4000)
SET @SQL = 'select id,number from MemberInfo'
insert @tab exec(@SQL)select * from @tab-----结果----------
1 001
2 002