앞의 글(SQL Server Management Studio를 사용해서 연결된 서버를 등록하기)을 따라 연결된 서버를 등록했다
이제 SQL Server에서 연결된 서버의 Table을 OpenQuery를 이용하여 조회하고 등록하고 수정하고 삭제해보겠다.
## Select
SELECT * FROM OPENQUERY(L_TESTDB, 'SELECT * FROM LinkedServerTestTable');
## Insert
INSERT OPENQUERY(L_TESTDB, 'SELECT NO, NAME FROM LinkedServerTestTable ') VALUES (1, '홍길동');
## Update
UPDATE OPENQUERY(L_TESTDB, 'SELECT NAME FROM LinkedServerTestTable WHERE NO = 1') SET NAME = '임꺽정';
## Delete
DELETE FROM OPENQUERY(L_TESTDB, 'SELECT NO FROM LinkedServerTestTable WHERE NO = 1');
어렵지않다. 찾으면 쉽게 알 수 있다.
공부하자~~!!!!
########## 추가 ##########
프로시저에서 openquery를 이용하여 update하는데, where절에 NO = @P_NO 파라미터를 넣었더니 바로 에러가 나더라는.....
그래서 확인해보니 openquery에는 string 만들어가야 한다는 사실을 알게 되었다.. 그놈 참... 까다롭네그려... ㅡㅡ;;;
그래서
@_QUERY = ' UPDATE OPENQUERY(L_TESTDB, 'SELECT NAME FROM LinkedServerTestTable WHERE NO = '+@SMS_SEQ+'') SET NAME = '''+@NAME+'' ' Execute sp_executesql @_QUERY, @_PARAMS
주의사항 : 파라미터 부분에 작은 따옴표 " ' "를 넣을때 특수문자여서 하나더 넣어야한다는거 다들 아시지요??
@SMS_SEQ가 스트링일 경우, '''''+@SMS_SEQ+''''' 요렇게...
728x90
'개발' 카테고리의 다른 글
PaaS(Platform as a Service) (0) | 2012.11.06 |
---|---|
SQL Server Management Studio를 사용해서 연결된 서버를 등록하기 (0) | 2012.11.01 |
SyntaxHighLighter를 이용한 블로그에 소스 코드 올리기 (0) | 2012.11.01 |