데이터베이스 개발자 질문과 답변 게시판
데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.
안녕하세요.
IF 절 안에서 링크드 서버 사용할 때의 질문입니다.
IF 절에서 첫번째 조건에 해당하지 않고 ELSE절의 구문이 실행될 때 (@@SERVERNAME 결과가 'BBB'가 나올 경우)
아래 노란색 LINKED SERVER가 로그인이 안되면 에러가 발생합니다.
컴파일 시에 링크드 서버가 있는지 정도는 확인하는것이 맞는 것 같은데,
실행되지 않는 구문도 링크드 서버가 항상 로그인이 되어야 하는 것인가요??
전문가의 답변 부탁드립니다.
감사합니다.
참고로 SQL 버전은 (Microsoft SQL Server 2008 (SP1) - 10.0.2531.0 (X64) Mar 29 2009 10:11:52 Copyright (c) 1988-2008 Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) )
입니다.
DECLARE @SERVERNAME VARCHAR(20) = ''
SET @SERVERNAME = (SELECT @@SERVERNAME)
PRINT @SERVERNAME
IF @SERVERNAME = 'AAA'
BEGIN
PRINT 'AAA'
SELECT *
FROM
OPENQUERY([AAA],'
SELECT A.ZCLS01 AS BOND_NO,
A.ZCLS02 AS S_CODE,
left(A.ZCLOSING,1) AS CLOSE_YN,
A.ZCLOS_DAT AS CLOSE_DATE
FROM DVM..ZTFI5420 AS A
')
END
ELSE
BEGIN
PRINT 'BBB'
SELECT *
FROM
OPENQUERY([BBB],'
SELECT A.ZCLS01 AS BOND_NO,
A.ZCLS02 AS S_CODE,
left(A.ZCLOSING,1) AS CLOSE_YN,
A.ZCLOS_DAT AS CLOSE_DATE
FROM PRD..ZTFI5420 AS A
')
END
Comment 1
-
catchv
2018.05.29 15:17
동적 쿼리를 사용하시면 됩니다.