연결된 서버(LINKED SERVER)로 구성된 원격 DB서버에서 필요한 데이터만 쿼리하여 결과를 가져오는 방법이다.
OPENQUERY(LINKEDSERVER,'연결된 서버내에서 실행할 쿼리문')
첫 번째 인자는 LINKED SERVER의 이름이며 작은 따옴표로 묶지 않는다.
두 번째 인자는 실제 쿼리문이며 작은 따옴표로 묶은 문자열이 된다.
그러므로 이 쿼리문 안에서 또 문자열을 써야한다면 아래 예제와 같이 작은 따옴표를 두 번 연달아 써준다.
LINKED SERVER를 ㅣ_SERVER라고 할 때,
OPENQUERY(LINKEDSERVER,'연결된 서버내에서 실행할 쿼리문')
첫 번째 인자는 LINKED SERVER의 이름이며 작은 따옴표로 묶지 않는다.
두 번째 인자는 실제 쿼리문이며 작은 따옴표로 묶은 문자열이 된다.
그러므로 이 쿼리문 안에서 또 문자열을 써야한다면 아래 예제와 같이 작은 따옴표를 두 번 연달아 써준다.
LINKED SERVER를 ㅣ_SERVER라고 할 때,
SELECT 컬럼CC, 컬럼DD, 컬럼EE, 컬럼FF FROM OPENQUERY(L_SERVER,' SELECT AA.컬럼CC, AA.컬럼DD, AA.컬럼EE, AA.컬럼FF FROM 테이블AA AA WITH (NOLOCK) INNER JOIN 테이블BB BB WITH (NOLOCK) ON AA.컬럼EE=BB.컬럼EE AND AA.컬럼FF=BB.컬럼FF AND AA.컬럼CC=BB.컬럼CC AND AA.컬럼DD=BB.컬럼DD AND CONVERT(CHAR(8),BB.컬럼DATETIME,112) BETWEEN ''20090701'' AND ''20090802'' AND BB.컬럼EE = ''XV'' ')이와 같이 쿼리하면 된다.