我这是我第一次尝试创建程序并执行它。 首先,我创建简单的表。表的DB方案在这里:
表名:Ziaci
列:
存储过程只在表中插入数据,我用这个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;
什么是坏事,谢天谢地。
答案 0 :(得分:11)
我认为你在“SQL窗口”中编写命令。您应该使用“命令窗口”成功执行此行:
execute ziaci_proc('X','Y',1);
答案 1 :(得分:11)
如上所述使用execute
调用存储过程特定于SQL * Plus。实际上,SQL * Plus会将execute some_proc()
转换为BEGIN some_proc(); END;
,您可以通过尝试调用不存在的过程来自行查看:
SQL> execute some_proc() BEGIN some_proc(); END; * ERROR at line 1: ORA-06550: line 1, column 7: PLS-00201: identifier 'SOME_PROC' must be declared ORA-06550: line 1, column 7: PL/SQL: Statement ignored