2017-03-17 90 views
0

家伙,我已经存储过程,而得到另一个表从链接服务器和更新一些值存储过程没有得到执行

Declare @mno varchar(50) 
Declare @trackid varchar (50) 
If @mno =null 
Begin 
Select top 1 mno from table order by mno desc 
End 
[email protected]=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 [email protected]), Sid=(select Sid from )192.168.2.6].[mydb].[dbo].[mytable] where sid [email protected] 

根据表它PICS名称和SID从表链接服务器和更新最高值。当我执行这个程序时,它说成功执行了,但表格没有被更新。当我手动执行更新查询时,它可以正常工作。

请指导

回答

0

你做你的选择将获得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 [email protected]), Sid=(select Sid from )192.168.2.6].[mydb].[dbo].[mytable] where sid [email protected] 
+0

感谢它的工作。 –