一个sql赋值的问题,请教下!!!!老虎谢谢大家!

马老虎 2010-11-09 12:11:26

DECLARE @sql NVARCHAR(1000),@OldOrder INT
--我需要拼一个sql语句,然后将查询的结果赋值给@OldOrder
SET @sql ='select set @OldOrder = 1'

EXEC(@sql)
--以上的写法不行,请教大家!!

...全文
54 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
马老虎 2010-11-09
  • 打赏
  • 举报
回复
晓得了!
果然高手众多!!
使用 output。
playwarcraft 2010-11-09
  • 打赏
  • 举报
回复
declare @sql nvarchar(100),@OldOrder int
set @sql=N'select @OldOrder=count(*) from T'
exec sp_executesql @sql,N'@OldOrder int output',@OldOrder output
print @OldOrder

/*
10
*/
guguda2008 2010-11-09
  • 打赏
  • 举报
回复
DECLARE @sql NVARCHAR(1000),@OldOrder INT
--我需要拼一个sql语句,然后将查询的结果赋值给@OldOrder
SET @sql =' set @OldOrder = 1'

EXEC SP_EXECUTESQL @SQL,N'@OLDORDER INT OUTPUT',@OLDORDER=@OLDORDER OUTPUT

SELECT @OLDORDER
--1
playwarcraft 2010-11-09
  • 打赏
  • 举报
回复
--是指this?
declare @sql nvarchar(100),@OldOrder int
set @sql=N'你的select sql'
exec sp_executesql @sql,N'@OldOrder int output',@OldOrder output
print @OldOrder
马老虎 2010-11-09
  • 打赏
  • 举报
回复
大家要问我为什么,
其实实际情况是 拼接一个sql,这个sql语句会变 进行给@OldOrder 赋值
duanzhi1984 2010-11-09
  • 打赏
  • 举报
回复
[Quote=引用楼主 mmm306306 的回复:]
SQL code

DECLARE @sql NVARCHAR(1000),@OldOrder INT
--我需要拼一个sql语句,然后将查询的结果赋值给@OldOrder
SET @sql ='select set @OldOrder = 1'

EXEC(@sql)
--以上的写法不行,请教大家!!
[/Quote]
select set 有点问题。不知道是啥玩意。。
chuifengde 2010-11-09
  • 打赏
  • 举报
回复
DECLARE @sql NVARCHAR(1000),@OldOrder INT
--我需要拼一个sql语句,然后将查询的结果赋值给@OldOrder
SET @sql ='select @OldOrder = 1'

exec sp_executesql @sql,N'@oldOrder int out',@OldOrder OUT
SELECT @OldOrder

duanzhi1984 2010-11-09
  • 打赏
  • 举报
回复
DECLARE @sql NVARCHAR(1000),@OldOrder INT

select @OldOrder=1

SET @sql ='select @OldOrder ='+CAST(@OldOrder AS VARCHAR(20))

PRINT @sql

print @OldOrder


动态赋值。
playwarcraft 2010-11-09
  • 打赏
  • 举报
回复

34,587

社区成员

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

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