最近项目里用到oracle,其中涉及到批量导入的问题时写了一个存储过程,有两个IN参数,没有输出,逻辑都调通,但是在call的时候出现ORA-06576: 不是有效的函数或过程名错误,调试了n久最终发现其实很简单,就是navicat生成的存储过程中的名字加了双引号,例如:
CREATE OR REPLACE
PROCEDURE “test1”(aa IN VARCHAR2, bb IN VARCHAR2)
AS
BEGIN
dbms_output.put_line(aa);
dbms_output.put_line(bb);
END;
这样写就会出现该错误,改成:
CREATE
OR REPLACE
PROCEDURE
test1(aa
IN VARCHAR2, bb IN VARCHAR2)
AS
BEGIN
dbms_output.put_line(aa);
dbms_output.put_line(bb);
END;
则可正常运行,很小的一个问题,但是困扰了我很久,记录下来防止以后出现类似错误