PL/SQL Developer 中执行过程的问题
Posted
技术标签:
【中文标题】PL/SQL Developer 中执行过程的问题【英文标题】:Problem with execute procedure in PL/SQL Developer 【发布时间】:2011-07-09 08:58:26 【问题描述】:这是我第一次尝试创建过程并执行它。 首先我创建简单的表。表的DB方案在这里:
表名:Ziaci
列:
ZiakId - 主键,数字 姓氏,varchar2 名字,varchar2 TriedaId - 伪造密钥、数字存储过程只在表中插入数据,我用这个 SQL cmd 创建了存储过程:
create procedure ziaci_proc(surname_in in varchar2,
firstname_in in varchar2, triedaid_in in number)
is
begin
insert into ziaci (surname, firstname,triedaid) values (surname_in,firstname_in,triedaid_in);
end;
我尝试将此过程称为:
execute ziaci_proc('X','Y',1)
我收到此错误:
ORA-00900 无效的 SQL 语句
PL/SQL Developer IDE 中的一个带有红色下划线的执行字。
我测试了这个程序,效果很好。
我只能用这个 SQL 命令来执行这个过程:
begin
ziaci_proc('A','B',2);
end;
有什么不好的,谢谢帮助。
【问题讨论】:
【参考方案1】:如上所述使用execute
调用存储过程是特定于SQL*Plus 的。事实上,SQL*Plus 将execute some_proc()
转换为BEGIN some_proc(); END;
,您可以通过尝试调用一个不存在的过程来亲自看到这一点:
【讨论】:
【参考方案2】:我认为您正在“SQL Window”中编写命令。您应该使用“命令窗口”成功执行此行:
execute ziaci_proc('X','Y',1);
【讨论】:
以上是关于PL/SQL Developer 中执行过程的问题的主要内容,如果未能解决你的问题,请参考以下文章