- MS-SQL

DJ루피짱
- 공개여부
- 작성일
- 2011.3.4
-- 원래 문법은 아래와 같습니다.
-- 하지만 openquery 내부에 조건이 들어가지 않으므로 썩 좋은 방법은 아닐테죠….
-- 그래서 마지막 예문을 참고해주시면 됩니다.
DECLARE @IntVariable varchar(8);
DECLARE @SQLString nvarchar(1000);
DECLARE @ParmDefinition nvarchar(500);
DECLARE @max_title varchar(30);
SET @IntVariable = '20110303';
SET @SQLString = '
SELECT @max_titleOUT = jun_date FROM
OPENQUERY(MAYRESRUN,''
select jun_date,plan_date
from ffa011t
'')
where plan_date = @date
'
SET @ParmDefinition = N'@date varchar(8), @max_titleOUT varchar(30) OUTPUT';
EXECUTE sp_executesql @SQLString, @ParmDefinition, @date = @IntVariable, @max_titleOUT=@max_title OUTPUT;
select @max_title
-- sp_executesql 의 정의된 변수를 사용하지 않고 바로 where절에 사용하여
-- 성능을 개선하는 것이 좋을 듯 하네요.
-- 그때 그때 다르게 사용하면 되겠지요~~~~ ^^
DECLARE @IntVariable varchar(8);
DECLARE @SQLString nvarchar(1000);
DECLARE @ParmDefinition nvarchar(500);
DECLARE @max_title varchar(30);
SET @IntVariable = '20110303';
SET @SQLString = '
SELECT @max_titleOUT = jun_date FROM
OPENQUERY(MAYRESRUN,''
select jun_date,plan_date
from ffa011t
where plan_date = '''''+ @IntVariable + '''''
'')
'
SET @ParmDefinition = N'@date varchar(8), @max_titleOUT varchar(30) OUTPUT';
EXECUTE sp_executesql @SQLString, @ParmDefinition, @date = NULL, @max_titleOUT=@max_title OUTPUT;
select @max_title
[ MS-SQL의 sp_executesql 도움말 참고해서 작성해봤습니다. (__) ]
- 좋아요
- 6
- 댓글
- 0
- 작성일
- 2023.04.26
댓글 0
댓글이 없습니다.
첫 번째 댓글을 남겨보세요.