存储过程未执行

时间:2017-03-17 09:16:47

标签: stored-procedures

伙计我有存储过程,它从链接服务器获取一些值并在另一个表中更新

Declare @mno varchar(50)
Declare @trackid varchar (50)
If @mno =null
Begin 
Select top 1 mno from table order by mno desc
End 
If@trackid=null
Begin
Select top 1 trackid from table order by mno desc
End 
Update table set name=(select user from [192.168.2.6].[mydb].[dbo].[mytable] where mno =@mno), Sid=(select Sid from  )192.168.2.6].[mydb].[dbo].[mytable] where sid =@trackid

基于表中的顶部值,它从链接服务器的图片名称和sid以及表格中的更新。当我执行这个程序时,它说成功执行但表格没有更新。当我手动执行更新查询时,它可以正常工作。

请指导

1 个答案:

答案 0 :(得分:0)

您正在使用SELECT来获取mno和trackid,但实际上并没有将它们分配给变量。此外,没有理由检查你的变量是否为空 - 你只是在上面的行上创建它们,所以你知道它们总是为空。

Declare @mno varchar(50)
Declare @trackid varchar (50)
Set @mno = Select top 1 mno from table order by mno desc
Set @trackid = Select top 1 trackid from table order by mno desc

Update table set name=(select user from [192.168.2.6].[mydb].[dbo].[mytable] where mno =@mno), Sid=(select Sid from  )192.168.2.6].[mydb].[dbo].[mytable] where sid =@trackid