我有两个 .sql 文件都是 Oracle 存储过程,它们都接受输入参数。我想首先在命令行中使用 sqlplus 连接到远程 oracle 数据库,并希望首先使用这两个文件来创建它们各自的存储过程,因此我在 Oracle SQL Developer 中的该连接过程下看到它们。
在此之后,我还有两个 .sql 文件,它们看起来像这样,旨在获取输入参数并执行存储过程。这是用于执行存储过程“REPORT”的文件之一。
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 正确创建和执行这些存储过程。
提前致谢,