如何用變量得到查詢結果?

奔跑9999 2009-08-01 04:05:16
SQL Code

declare @SQLResult varchar(30)

declare @datafield varchar(30)

declare @sql varchar(800)



set @datafield='PropertyID50'

set @sql='Select Top 1 '+ @datafield +' From tblItemProp Where ItemPropID=19229'

exec (@sql)



set @SQLResult= exec (@sql) --為何這句不能執行。

...全文
58 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
SQL77 2009-08-01
  • 打赏
  • 举报
回复
CREATE TABLE TB(STRING VARCHAR(2000))
INSERT TB exec (@sql)
SELECT @SQLResult=STRING FROM TB
feixianxxx 2009-08-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 liangck 的回复:]
SQL code3. 输出参数declare@numint,@sqlsnvarchar(4000)set@sqls='select count(*) from tableName'exec(@sqls)--如何将exec执行结果放入变量中?declare@numint,@sqlsnvarchar(4000)set@sqls='select @a=count(*) from tableName'ex¡­
[/Quote]
梁哥 那 是不是要改下。。

declare @num int,
@sqls nvarchar(4000)
set @sqls='select @a=count(*) from tableName '
exec sp_executesql
@sqls,
N'@a int output',
@num=@a output
select @num
guguda2008 2009-08-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 liangck 的回复:]
SQL code3. 输出参数declare@numint,@sqlsnvarchar(4000)set@sqls='select count(*) from tableName'exec(@sqls)--如何将exec执行结果放入变量中?declare@numint,@sqlsnvarchar(4000)set@sqls='select @a=count(*) from tableName'ex¡­
[/Quote]
学习
sdhdy 2009-08-01
  • 打赏
  • 举报
回复
declare @SQLResult  varchar(30) 

declare @datafield varchar(30)

declare @sql nvarchar(800)



set @datafield='PropertyID50'

set @sql=N'Select Top 1 @SQLResult='+ @datafield +' From tblItemProp Where ItemPropID=19229'
exec sp_executesql @sql,N'@SQLResult varchar(30) output',@SQLResult output
select @SQLResult
liangCK 2009-08-01
  • 打赏
  • 举报
回复
3. 输出参数 
declare @num int,
@sqls nvarchar(4000)
set @sqls='select count(*) from tableName'
exec(@sqls)
--如何将exec执行结果放入变量中?

declare @num int,
@sqls nvarchar(4000)
set @sqls='select @a=count(*) from tableName '
exec sp_executesql @sqls,N'@a int output',@num output
select @num

22,207

社区成员

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

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