IT story

GETDATE로 저장 프로 시저를 호출하는 ')'근처의 구문이 잘못되었습니다.

hot-time 2020. 8. 2. 17:19
반응형

GETDATE로 저장 프로 시저를 호출하는 ')'근처의 구문이 잘못되었습니다.


어쩌면 나는 '오후'의 순간을 보내고 있지만 아무도 내가 왜 그런지 설명 할 수 있습니다.

메시지 102, 수준 15, 상태 1, 줄 2
')'근처의 구문이 잘못되었습니다.

달릴 때

CREATE PROC DisplayDate 
    (@DateVar DATETIME) 
AS 
BEGIN
    SELECT @DateVar
END
GO

EXEC DisplayDate GETDATE();

저장 프로 시저에 대한 인수로 함수 호출을 전달할 수 없습니다. 대신 중간 변수를 사용하십시오.

DECLARE @tmp DATETIME
SET @tmp = GETDATE()

EXEC DisplayDate @tmp;

으로 미치 밀 언급 당신은 함수를 전달할 수 없습니다.

귀하의 경우 미리 계산 된 값 또는 GETDATE ()를 전달 해야하는 경우 기본값을 사용할 수 있습니다. 예를 들어 저장 프로 시저를 수정하십시오.

ALTER PROC DisplayDate 
(
    @DateVar DATETIME = NULL
) AS 
BEGIN
    set @DateVar=ISNULL(@DateVar,GETDATE())

    --the SP stuff here
    SELECT @DateVar
END
GO

그런 다음 시도하십시오.

EXEC DisplayDate '2013-02-01 00:00:00.000'
EXEC DisplayDate

비고 : 여기서는이 매개 변수에 NULL 값을 사용하지 않는 것으로 가정했습니다. 그렇지 않은 경우 다른 미사용 값 (예 : '1900-01-01 00 : 00 : 00.000')을 사용할 수 있습니다

참고 URL : https://stackoverflow.com/questions/2399104/incorrect-syntax-near-calling-stored-procedure-with-getdate

반응형