如何执行Oracle存储过程?
问题原因:在Oracle 10g Express Edition中,内置了Oracle Application Express (Apex)。你正在使用它的SQL Commands窗口运行,该窗口不支持SQL*Plus语法。
解决方法:不过,这并不重要,因为(正如你已经发现的)BEGIN...END语法在Apex中是有效的。
所以,要执行一个Oracle存储过程,你可以使用以下语法:
BEGIN your_procedure_name(your_parameter); END;
请注意,你需要替换"your_procedure_name"和"your_parameter"为适当的值。
希望这对你有帮助!
在执行Oracle存储过程时,可能会遇到以下问题:无法输出结果。解决方法是使用DBMS_OUTPUT.ENABLE函数启用输出,并在存储过程中使用DBMS_OUTPUT.PUT_LINE函数输出结果。以下是一个示例代码,演示了如何执行带有输出的存储过程:
create or replace procedure temp_proc is begin DBMS_OUTPUT.ENABLE(1000000); DBMS_OUTPUT.PUT_LINE('Test'); end;
然后,在一个PL/SQL块中调用该存储过程:
begin temp_proc; end;
这是因为在Oracle中,SQL是非过程化的语言,所以需要在PL/SQL块中调用存储过程来执行它。