请教一个SQL的正确用法

j99616 2003-11-26 04:57:41
set @string='select @signdate=a from #bb where a like'+ @name
exec(@string)

提示我“@signdate”没有声明,但是我声明过了
请指教正确的用法
...全文
18 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
j99616 2003-11-26
  • 打赏
  • 举报
回复
谢谢大家
gmlxf 2003-11-26
  • 打赏
  • 举报
回复
http://www.algonet.se/~sommar/dynamic_sql.html
pengdali 2003-11-26
  • 打赏
  • 举报
回复
declare @string Nvarchar(4000)


set @string=N'select @signdate=a from #bb where a like '+ @name

exec sp_executesql @string,N'@signdate int output',@signdate output
mywhsw 2003-11-26
  • 打赏
  • 举报
回复
declare @string varchar(1000)
set @string='declare @signdate varchar(1000)'+char(13)+
'select @signdate=a from #bb where a like'+ @name
exec(@string)
txlicenhe 2003-11-26
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/2364/2364046.xml?temp=.829693
[交流]动态SQL语句

declare @signdate varchar(10),@string nvarchar(4000),@name varchar(10)

set @string='select @signdate=a from #bb where a like'+ @name
exec sp_executesql @string,N'@signdate varchar(10) output',@signdate output
select @signdate
CrazyFor 2003-11-26
  • 打赏
  • 举报
回复
参考:

declare @tcnt int
declare @paras varchar(100)
DECLARE @SQLString NVARCHAR(500)
set @paras ='1,3,5'
set @sqlstring=N'select @cnt=count(*) from sysobjects where id in ('+@paras+')'

set @tcnt=0
execute sp_executesql
@sqlstring,
N'@cnt int output',
@cnt=@tcnt output
select @tcnt


select * from sysobjects


参考:
Create Procedure GetMaxID
@TableName varchar(100), @ID int output
as
begin
declare @sql nvarchar(1000)
set @sql='select @ID = count(ID) from '+@TableName
exec sp_executesql @sql,N'@id int output',@id output
end

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧