一简单的sql语句(动态字段)

pepos 2003-10-23 03:58:40
declare @ColName varchar(20),@sql varchar(8000),@ResultStr varchar(8000)
set @sql=''
set @ResultStr=''
set @ColName='MIName'
set @sql='select @ResultStr=@ResultStr + ' + @ColName + ' + ''<br>'' from TBidMaterial a join TMaterialInfo b on a.MIID=b.MIID and a.QuoteID=2'
--print @sql
exec (@sql)
select @ResultStr

执行后:
服务器: 消息 137,级别 15,状态 2,行 1
必须声明变量 '@ResultStr'。

怎么修改,谢谢!!
...全文
58 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xjwxiong 2003-10-24
  • 打赏
  • 举报
回复
有意思,不過大力寫SQL時要是能加上注釋那就更好了
pengdali 2003-10-23
  • 打赏
  • 举报
回复
declare @ColName varchar(20),@sql nvarchar(4000),@ResultStr varchar(8000)

set @ColName='MIName'
set @sql=N'declare @ResultStr varchar(8000) set @ResultStr='''' select @ResultStr=@ResultStr+' +@ColName+'+''<br>'' from TBidMaterial a join TMaterialInfo b on a.MIID=b.MIID and a.QuoteID=2 set @out=@ResultStr'

exec sp_executesql @sql,N'@a varchar(8000) output',@ResultStr output
select @ResultStr
zhujiahui0903 2003-10-23
  • 打赏
  • 举报
回复
up
pengdali 2003-10-23
  • 打赏
  • 举报
回复
declare @ColName varchar(20),@sql nvarchar(4000),@ResultStr varchar(8000)

set @ColName='MIName'
set @sql=N'declare @ResultStr varchar(8000) @ResultStr='''' select @ResultStr=@ResultStr+' +@ColName+'+''<br>'' from TBidMaterial a join TMaterialInfo b on a.MIID=b.MIID and a.QuoteID=2 set @out=@ResultStr'

exec sp_executesql @sql,N'@a varchar(8000) output',@ResultStr output
select @ResultStr
CrazyFor 2003-10-23
  • 打赏
  • 举报
回复
参考:

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
wzh1215 2003-10-23
  • 打赏
  • 举报
回复
@ResultStr不能被包含在‘’号里面的·
lynx1111 2003-10-23
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/2364/2364046.xml?temp=2.274722E-02

34,875

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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