데이터베이스 개발자 질문과 답변 게시판
데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.
오픈쿼리를 이용해서 연결서버에서 함수 호출하는 것입니다.
SELECT * FROM OPENQUERY(LINKSV, 'SELECT * FROM FN_FEE(''20151111'',''1'',''1'')')
이렇게 날리면 값이 제대로 원하는 값을 가져옵니다.
결국 변수 3개를 넘겨야 합니다.
그런데 저렇게 값을 명시적으로 하는것이 아니라
변수로 넘기고 싶은데...
자꾸 오류가 나네요....
그래서
varchar(max)로 변수 선언해서
하면 되는데....
결과값을 담아지지가 않네요...
Comment 4
-
이리
2016.04.22 10:43
-
Terry
2016.04.22 10:49
1. 동적쿼리로 처리 ( openquery 를 사용할 경우 )
2. 내부 sql 문 처리하듯이 처리 ( openquery 문 사용안해도 무방할 경우 )
예 )
SELECT * FROM LINKSV.FN_FEE('20151111','1','1')
-
아싸라비아콜롬비아
2016.04.22 10:56
이방법은 테이블은 이방식으로 접근이 되는데...
함수는 접근이 안되네요.
-
항해자™
2016.04.22 17:37
아래처럼은 안되나요?
declare
@v1 char(8) = convert(char(8),getdate(),112)
,@v2 varchar(7) = 1
,@v3 nvarchar(200)
set @v3 = 'select * from openquery(LINKSV, ''select * from dbname.dbo.fnTest('+ @v1 +', '+ @v2 +')'')'
exec (@v3)
동적쿼리로 해야 하지 않을까요?