当我使用execute proc_name手动执行oracle过程时,它运行正常。但是当我尝试从sql developer的程序界面执行此操作时,我收到以下错误。请帮助我
答案 0 :(得分:2)
默认情况下,该对话框的“PL / SQL Block”部分应包含以下内容:
BEGIN
SSCI_FINDING_PROCEDURE();
--rollback
END;
但是您可以根据需要调整它,并且您在调用之间保存所做的任何更改。虽然没有输入,但我认为你不能保存它。可能不明白为什么你不能只执行没有交互的过程,但如果过程有任何参数,或者它是一个函数,那么你需要一个包装器来定义它们。这正是execute
在幕后所做的事情 - 它只是包裹您在BEGIN
/ END;
中执行的任何内容。
在版本4.0(以及3.2和3.1)中尝试确定该部分为空的对话框为我提供了ORA-00900。可能你正在使用行为不同的旧版本。它可能会很好,如果它警告你没有什么可以运行,而不是,显然,将空值传递给JDBC调用,但你不能拥有一切。