[MSSQL] 임의의 분산질의 – 리모트서버의 데이터를 읽어올때

리모트 서버에 있는 데이터를 얻기 위해 분산질의를 하기 위해서는
링크드 서버를 정의하거나 OPENROWSET 이라는 함수를 사용해서 임의의 분산질의를 해야 한다.
OPENROWSET 을 어떻게 사용하는지 보자
아래 예제는 한토마에서 리스트 페이지에 쓰이는 sql문이다.

Select Top (원하는레코드갯수) a.*,b.wLevel
From (테이블이름) a
Left Outer Join
OPENROWSET(‘MSDASQL’,'dsn=hantoma;UID=xxx;PWD=xxx’,'select memberid,wLevel
from hantoma.dbo.writer_Status’) AS b
on a.id=b.memberid
Where Idx Not In
(Select Top (전달된페이지수-1)*원하는레코드갯수 idx From 테이블이름 Order By ref desc)
Order By ref desc

여기서 Left Outer Join 은 알고 계시겠지만
a 테이블의 필드 내용을 모두 긁어 오기 위해 썼다.
MSDASQL 프로바이더 이름이다 오라클은 MSDAORA
hantoma.dbo.writer_status 는 디비.소유자.테이블이름

Comments

Powered by Facebook Comments

댓글 남기기

당신의 이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.

*

다음의 HTML 태그와 속성을 사용할 수 있습니다: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>