34,837
社区成员




数据库是sqlserver 2008,代码如下:
declare @sql varchar(3000),@code varchar(200),@strcode varchar(200)
delete from tmp_table
insert into tmp_table(code)
select '98001'
union all
select '98002'
union all
select '98003'
set @code='98003'
set @sql='select code from tmp_table where code='+@code
exec(@sql)
这样会显示:
code |
98003 |
我在上面定义了“declare @strcode varchar(200) ”,我想把“exec(@sql)”的数据赋值到@strcode,比如“exec(@sql)”,值是‘98003’,把‘98003’赋值给@strcode,如何来写代码?
declare @code varchar(200),@strcode varchar(200)
delete from tmp_table
insert into tmp_table(code)
select '98001'
union all
select '98002'
union all
select '98003'
set @code='98003'
EXEC sp_executesql N'select @strcode=code from tmp_table where code=@code',N'@code varchar(200),@strcode varchar(200) output',@code,@strcode OUTPUT
SELECT @strcode