2013-10-02 3 views
0

I SQL Developer에서 완벽하게 잘 실행 다음과 같은 코드를 가지고 그것이 전체 실행 시간의 1 분 이내에 완료 :쿼리 * SQL에서 실행되지 플러스

SET TERM ON 
SET ECHO ON 
DECLARE 
    max_date date; 
    max_id number; 
BEGIN 
    select max(LOG_ID) into max_id from RUN_LOG; 
    select max(TRAN_DT) into max_date from DATA_TX; 
    insert into RUN_LOG 
    values(
     max_id + 1  /* Log ID */ 
     ,1    /* Chain ID */ 
     ,1    /* Job ID */ 
     ,sysdate   /* Start Time-stamp */ 
     ,sysdate   /* End Time-stamp */ 
     ,1    /* Run Result */ 
     ,max_date   /* Processing Date */ 
    ); 
    COMMIT; 
END; 
/

나는 .SQL 파일에 이것을 넣고 SQL * Plus에서 실행하면 끝나지 않습니다.

sqlplus user/[email protected] @set_date.sql 

내가 여기서 무엇을 놓치고 다음과 같이

일괄 호출은 무엇입니까?

감사합니다,

+0

SQL 파일의 마지막 줄을'LF' 문자로 종료 했습니까? –

+0

SQL Plus와 대화식으로 실행할 수 있습니까? –

+1

당신은'-s' 플래그를 가지고 있지 않지만'login.sql'에서'set feedback off'를 할 수 있습니까? 아니면 그냥 명령 프롬프트로 돌아 오기를 기다리고 있습니까? 파일에서'exit' 없이는 일어나지 않을 것입니다. SQL Developer에 커밋되지 않은 삽입 기능이 있습니까? (로그 ID에 시퀀스를 사용하지 않는 이유가 무엇입니까?) –

답변

0

다음과 같이 나 또한 전화를 수정 내 .SQL 내 .bat 파일로 다시 제어를 반환하지 원인이 내 오라클 세션에서 오류가 어떤 종류의

어쨌든이 있었다 :

종료 | sqlplus -S user/password @ database @ set_date.sql

모두 괜찮습니다.