두 개의 .sql 파일은 모두 입력 매개 변수를 사용하는 Oracle 저장 프로 시저입니다. 먼저 커맨드 라인에서 sqlplus를 사용하여 원격 오라클 데이터베이스에 연결하고 싶습니다. 먼저 두 파일을 사용하여 각각의 저장 프로 시저를 생성하고 Oracle SQL Developer에서 해당 연결에 대한 프로 시저를 참조하십시오.Oracle 저장 프로 시저 만들기 및 .sql 파일에서 실행
이 후 나는 이처럼 보이고 입력 매개 변수를 가져 와서 저장 프로 시저를 실행하도록 설계된 .sql 파일이 두 개 더 있습니다. 이것은 저장 프로 시저 "REPORT"를 실행하기위한 파일 중 하나입니다. 나는이 출력 얻을 때 사용자 이름/암호 @의 report_setup.sql
SQLPLUS \ 사용자 \ 바탕 화면> : C :
DECLARE
NAME VARCHAR2(200);
VERSION VARCHAR2(200);
STARTDATE DATE;
ENDDATE DATE;
BEGIN
NAME := '&1';
VERSION := '&2';
STARTDATE := '&3';
ENDDATE := '&4';
exec REPORT(NAME, VERSION, STARTDATE, ENDDATE);
EXCEPTION
WHEN OTHERS THEN
RAISE_APPLICATION_ERROR(-20101,SQLERRM);
END;
/
명령 프롬프트에서 나는 처음으로 데이터베이스에 저장 프로 시저를 만들려고 번호가 매겨진 빈 줄과 내 .sql 파일의 마지막 줄보다 큰 숫자부터 시작하는 줄입니다. 내 report_setup.sql 파일의 길이는 81 줄이고 sqlplus 명령의 출력은 83부터 시작하는 빈 번호 매기기 라인입니다.
sqlplus를 통해 이러한 저장 프로 시저를 올바르게 만들고 실행할 수있는 방법을 알려주십시오. 사전에
감사합니다,
좋은 자리; 그래도 문제의 설명을 이해하면 아직이 블록을 실행하지 못했습니다. 또한'startdate'와'enddate'를 설정할 때 암시 적으로 날짜 변환을한다는 점을 지적 할 수도 있습니다. (어쨌든 선언하고 설정하는 것 같지 않습니다.) 언젠가는 실패 할 것입니다. –