반응형
GETDA를 사용하여 스토어드 프로시저를 호출하는 '' 근처의 구문이 잘못되었습니다.TE
내가 '오후'의 시간을 보내고 있는 건지도 모르지만, 누가 설명 좀 해줄래?
메시지 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 00:00:00.000').
제가 찾은 해결책은 실행 전에 temp 변수를 선언하고 실행 라인에 전달하는 것입니다.
Declare @ddate date
set ddate = getdate()
EXEC DisplayDate @ddate;
언급URL : https://stackoverflow.com/questions/2399104/incorrect-syntax-near-calling-stored-procedure-with-getdate
반응형
'programing' 카테고리의 다른 글
varchar와 nvarchar의 차이점은 무엇입니까? (0) | 2023.04.07 |
---|---|
TSQL에서 PRINT 버퍼를 플러시하는 방법 (0) | 2023.04.07 |
WordPress에서 파일 경로별로 첨부 파일 ID 가져오기 (0) | 2023.03.18 |
리액트 라우터 프라이빗루트/리다이렉트가 기능하지 않음 (0) | 2023.03.18 |
콜백에 추가 파라미터 전달 (0) | 2023.03.18 |