2017-03-17 1 views
0

얘들을 실행하기 나는 다른 테이블에 연결된 서버 업데이트에서 일부 값을 얻을 저장 프로 시저를하지스토어 절차는

이 테이블에 연결된 서버 및 업데이트에서 이름과 SID를 사진 테이블에 최고 값을 바탕으로
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] 

. 이 절차를 실행하면 성공적으로 실행되었지만 테이블이 업데이트되지 않습니다. 그리고 업데이트 쿼리를 수동으로 실행하면 올바르게 작동합니다.

당신은 MNO와 trackid를 얻을 수 있도록 건의 SELECT를하고있는

답변

0

안내하십시오, 그러나 당신은 실제로 당신의 변수에 할당되지 않습니다. 또한 변수가 null인지 확인해야 할 이유가 없습니다. 위의 행에서 변수를 만들었으므로 항상 null이 될 것입니다.

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

감사합니다. –