私は 2 つの .sql ファイルを持っています。両方とも入力パラメーターを受け取る Oracle ストアド プロシージャです。コマンドラインでsqlplusを使用して最初にリモートOracleデータベースに接続し、最初に両方のファイルを使用してそれぞれのストアドプロシージャを作成したいので、Oracle SQL Developerでその接続のプロシージャの下にそれらを表示します。
この後、次のような .sql ファイルがさらに 2 つ作成され、入力パラメーターを取得してストアド プロシージャを実行するように設計されています。これは、ストアド プロシージャ「REPORT」を実行するためのファイルの 1 つです。
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;
/
コマンドプロンプトで、最初にデータベースにストアドプロシージャを作成しようとしました: C:\Users\Desktop>sqlplus username/password @report_setup.sql
これを試してみると、.sql ファイルの最後の行よりも 1 大きい番号から番号が付けられた空の行が出力されます。私の report_setup.sql ファイルの長さは 81 行で、sqlplus コマンドの出力は 83 から始まる番号付きの空白の行です。
sqlplus を使用してこれらのストアド プロシージャを適切に作成および実行する方法を教えてください。
前もって感謝します、