声明变量问题

dgxs34 2008-03-28 10:09:44
declare @Tmp varchar(110),@id int,@sd int
set @sd=1
set @Tmp = 'select @id=id from [sound] where id='+ str(@sd)
--select @id=0
exec (@Tmp)
if isnull(@id,0) = 0
select 'a'
else
select 'b'

为什么老是提示: 必须声明标量变量 "@id"。
...全文
46 点赞 收藏 13
写回复
13 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
rfq 2008-09-03
高手 ,接分
回复
xiaoxiezi168 2008-08-31
接分
回复
胡矣 2008-08-31
JF
回复
UltraBejing 2008-05-01
接分是王道!
回复
pccastle 2008-04-27
不错
回复
pccastle 2008-04-27
up
回复
我没来错吧,这是非技术区哦,可以接分吗/
回复
zhu_gx 2008-04-15
低调拼小命接分
回复
wpeng8218 2008-03-28
declare @Tmp nvarchar(110),@id int,@sd int
set @sd=1
set @Tmp = 'select @id1=id from sound where id='+ cast(@sd as varchar)
execute sp_executesql @Tmp,N'@id1 int output',@id1=@id output
if isnull(@id,0) = 0
select 'a'
else
select 'b'
回复
viva369 2008-03-28
动态sql中不能使用表(变量),用sp_executesql带输出的参数
回复
wzy_love_sly 2008-03-28
declare @Tmp nvarchar(110),@id int,@sd int
set @sd=1
set @Tmp = 'select @id=id from [sound] where id='+ str(@sd)
exec sp_executesql @Tmp,N'@id int output', @id output
if isnull(@id,0) = 0
select 'a'
else
select 'b'
回复
hui_hui_2007 2008-03-28
这是动态sql语句传入参数的问题:

use northwind
declare @Tmp nvarchar(110),@id int,@sd int
set @sd=3
set @Tmp = 'select @id2=Employeeid from Employees where Employeeid='+ cast(@sd as varchar)
print @tmp
exec sp_executesql @Tmp,N'@id2 int output', @id output

if isnull(@id,0) <> 0
select @id
else
select '没有找到'
回复
相关推荐
发帖
MS-SQL Server
创建于2007-09-28

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2008-03-28 10:09
社区公告
暂无公告