오픈쿼리를 이용해서 연결서버에서 함수 호출하는 것입니다.
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)
동적쿼리로 해야 하지 않을까요?