2017-09-26 1 views
0

pl/sql에서 날짜 (DD/MM/YYYY HH : MI : SS) 변수를 사용하고 싶습니다. 다음 코드를 사용하고 있지만 작동하지 않습니다.pl/sql에서 날짜 (시간 포함) 변수를 선언하는 방법

BEGIN 
    declare dateMig date ; 
    dateMig := to_date('19/05/2017 05:05:00', 'DD/MM/YYYY HH:MI:SS'); 
    exec P_MY_PROC(100,'CHECK',dateMig); 
END; 

아무도 도와 줄 수 있습니까? 내가 도대체 ​​뭘 잘못하고있는 겁니까?

답변

2

"작동하지 않음"(오류 메시지 및/또는 예상치 못한 결과)이 의미하는 바를 설명 할 수 있다면 도움이됩니다.

그러나, 프로 시저 잘못 분명 몇 가지가 있습니다 :

  1. 당신은 실행 블록 내부의 선언 섹션이 - 그것이 당신이하고자하는지에 대해 작동하지 않을 것. PL/SQL 프로그램은 선언 섹션, 실행 섹션 및 예외 섹션을이 순서로 구성합니다.

  2. exec을 사용하여 PL/SQL 프로그램에서 프로 시저를 호출하려고 시도하고 있습니다. exec (또는 전체 이름을 부여하기 위해)은 PL/SQL 명령이 아닌 SQL * Plus 명령이며, 명령 줄에서 중첩하지 않고도 프로 시저를 실행할 수 있습니다. 시작/끝 블록. PL/SQL에서는 exec를 사용할 필요가 없습니다.

    declare 
        datemig date; 
    begin 
        datemig := to_date('19/05/2017 05:05:00', 'dd/mm/yyyy hh24:mi:ss'); 
    
        p_my_proc(100, 'CHECK', datemig); 
    end; 
    
    :

그래서, 당신의 코드는 같은 보일 것이다

관련 문제