我这是我第一次尝试创建程序并执行它 . 首先,我创建简单的表 . 表的DB方案在这里:
表名:Ziaci
列:
-
ZiakId - 主键,数字
-
姓氏,varchar2
-
FirstName,varchar2
-
TriedaId - forgein key,number
存储过程只在表中插入数据,我用这个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;
我试着把这个问题称为:
execute ziaci_proc('X','Y',1)
我收到此错误:
ORA-00900无效的SQL语句
PL / SQL Developer IDE中带有红色下划线的执行字 .
我测试这个程序,它运作良好 .
我只能使用此SQL命令执行此过程:
begin
ziaci_proc('A','B',2);
end;
什么是坏的,谢谢你的帮助 .
2 回答
如上所述使用
execute
调用存储过程特定于SQL * Plus . 实际上,SQL * Plus将execute some_proc()
转换为BEGIN some_proc(); END;
,您可以通过尝试调用不存在的过程来自行查看:我认为你在“SQL窗口”中编写命令 . 您应该使用“命令窗口”成功执行此行: