create table #admin(id int,name varchar(50)) insert into #admin select 1,'admin' union all select 2,'aa'declare @name varchar(50)select @name=name from #admin where id=1select @name-------------------------------------------------- admin(1 行受影响)直接复制不行吗??
exec 括号里面的是拼接的sql
declare @name varchar(20),@tsql nvarchar(4000)select @tsql=N'select @name=Name from admin where id=1'exec sp_executesql @tsql,N'@name varchar(20) output',@name=@name outputselect @name
这个建议用sp_executesql:declare @name nvarchar(20)exec sp_executesql N'select @name = Name from admin where id = @id', N'@name varchar(20) output,@id int', @name out,1 select @name
DECLARE @ta TABLE (NAME varchar(50)) DECLARE @NAME varchar(50) INSERT @ta EXEC('select Name from admin where id = 1') SELECT @NAME=NAME FROM @ta
insert into #admin
select 1,'admin' union all
select 2,'aa'declare @name varchar(50)select @name=name from #admin where id=1select @name--------------------------------------------------
admin(1 行受影响)直接复制不行吗??
declare @name varchar(20),@tsql nvarchar(4000)select @tsql=N'select @name=Name from admin where id=1'exec sp_executesql @tsql,N'@name varchar(20) output',@name=@name outputselect @name
N'@name varchar(20) output,@id int',
@name out,1
select @name
DECLARE @ta TABLE (NAME varchar(50))
DECLARE @NAME varchar(50)
INSERT @ta EXEC('select Name from admin where id = 1')
SELECT @NAME=NAME FROM @ta