블로그 이미지
LifeisSimple

calendar

1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

Notice

2011. 6. 21. 22:39 Brain Trainning/DataBase
오늘 2008에서 four-part때문에 고생을 좀 했다. 
2005에서도 테스트 매게변수만 들어가면 난리가 난다... 흠... 정말 이런 케이스에서 통계정보를 사용하지 못하는건지
일단은 어떻게든 방법을 찾아보고 아래는 간단한 회피스킬... 
이걸 주로 사용하는 케이스가 없기를 바란다... 

아직은 해결하지 못한 문제이지만... 차근히 해결해보고 여기에서는 
간단한 회피스킬을... 

사실 four-part 가 있는데도 이렇게 해야한다는 슬픔이 있지만...  사전에 문제를 방지하기 위해 
이런 방법들을 고려해야 한다. 

물론 Openquery 도 방안중의 하나가 될 수 있다. 그러나 매개변수를 받을 수 없다는 단점이... 

여하튼 아래와 같이 execute AT을 사용해주면 그래도 문제를 해결할 수 있다.
(녹색과 같이 해줘도 되지만... ? <- 이 녀석을 이용하는 것이 좀 더 괜찮아 보인다)

declare
@userID int

declare @userName varchar(100)

 

set @userID = 1175928

set @userName = '아니지이건'

 

declare @strSQL nvarchar(1000)

 

/*

set @strSQL = N'update user_idb.dbo.user_info

                  set user_name = ''' + @userName + '''

where userID = ' + convert(nvarchar(20), @userID)

 

execute (@strSQL) at node02

*/

 

set @strSQL = N'update user_idb.dbo.user_info set user_name = ? where user_ID = ?'

 

execute (@strSQL, @userName, @userID) at node02

 

select * from node02.user_idb.dbo.user_info with (nolock) where user_id = @userID

 


posted by LifeisSimple