11 sql oracle plsql procedure ora-00900
我这是我第一次尝试创建程序并执行它.首先,我创建简单的表.表的DB方案在这里:
表名:Ziaci
列:
存储过程只在表中插入数据,我用这个SQL cmd创建了store procudure:
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;
Run Code Online (Sandbox Code Playgroud)
我试着把这个问题称为:
execute ziaci_proc('X','Y',1)
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
ORA-00900无效的SQL语句
PL/SQL Developer IDE中带有红色下划线的执行字.
我测试这个程序,它运作良好.
我只能使用此SQL命令执行此过程:
begin
ziaci_proc('A','B',2);
end;
Run Code Online (Sandbox Code Playgroud)
什么是坏的,谢谢你的帮助.
jav*_*nna 11
我认为你在"SQL窗口"中编写命令.您应该使用"命令窗口"成功执行此行:
execute ziaci_proc('X','Y',1);
Run Code Online (Sandbox Code Playgroud)
Luk*_*ard 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