简体   繁体   English

Sql developer PL SQL Procedure

[英]Sql developer PL SQL Procedure

When i execute a oracle procedure manually using execute proc_name, it is running fine. 当我使用execute proc_name手动执行oracle过程时,它运行正常。 but when i try to do that from sql developer's procedures interface, I am getting the following error. 但是当我尝试从sql developer的程序界面执行此操作时,我收到以下错误。 Kindly help me on this 请帮助我

在此输入图像描述

By default the 'PL/SQL Block' section of that dialog box should contain something like: 默认情况下,该对话框的“PL / SQL块”部分应包含以下内容:

BEGIN
  SSCI_FINDING_PROCEDURE();
--rollback
END;

But you can adapt it as needed, and any changes you make get saved between invocations. 但是您可以根据需要调整它,并且您在调用之间保存所做的任何更改。 I don't think you can save it with nothing entered though. 虽然没有输入,但我认为你不能保存它。 It might not be obvious why you can't just execute the procedure with no interaction at all, but if the procedure had any parameters, or it was a function, then you'd need a wrapper to define those. 可能不明白为什么你不能只执行没有交互的过程,但如果过程有任何参数,或者它是一个函数,那么你需要一个包装器来定义它们。 This is exactly what execute does under the hood - it just wraps whatever you're executing in a BEGIN / END; 这正是execute - 它只是包装你在BEGIN / END;执行的任何内容END; .

In version 4.0 (and 3.2, and 3.1) trying to OK that dialog with that section empty gives me an ORA-00900. 在版本4.0(以及3.2和3.1)中尝试确定该部分为空的对话框为我提供了ORA-00900。 Possibly you're using an older version that behaves differently. 可能你正在使用行为不同的旧版本。 It might be nice if it warned you there was nothing to run rather than, apparently, passing the empty value to a JDBC call, but you can't have everything. 它可能会很好,如果它警告你没有什么可以运行,而不是,显然,将空值传递给JDBC调用,但你不能拥有一切。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM