oracle的存储过程?????(50分)

  • 主题发起人 主题发起人 coffeeffee
  • 开始时间 开始时间
C

coffeeffee

Unregistered / Unconfirmed
GUEST, unregistred user!
oracle8。0。4中,这个存储过程为什么不能创建成功?
create or replace procedure dataupdate(suc out interger)
as
e1 exception;
begin

delete from sysdb where 1=1;
insert into sysdb
select * from msysdb;
commit;
suc:=1;

exception

rollback;
suc:=0;

end;

在sql*plus中执行,老是处于编辑状态,不知怎样结束,请大虾指教!!!!
 
....
....
..
/
 
加/后使用run;
 
拷贝上面的代码,然后加'/',回车,OK!
 
假设上述过程语句在AA。SQL里
在SQL/PLUS下输入:
@aa
/
即可。
select * from msysdb好像有问题。
 
说一个无关紧要的问题:
delete from sysdb where 1=1;
里面不用 where 1=1 了,直接delete from sysdb就是删全部记录
 
我想你写过程是为了软件使用,把它放入oracle procedure好了
以后想执行,
在sqlplus 中: exec 名称(参数)
 
有以下解决办法,可任选其一:
1.在SQLPULS中输入该过程后,多敲几次回车,出现"SQLPLUS>"提示符后敲/即可编译!
2.在SQLPLUS>提示符中键入EDIT,调入NOTEPAD,然后PASTE你的代码,再退出到命令行方式.
然后用RUN或/即可编译该程序!
至于该过程是否有错,就根据编译的错误信息进行调试即可!
good luck!
 
把代码存为文件形式,再执行,EXAMPLE :
存为 ../Bin/a.txt;
在SQL_PLUS 中 :> @a.txt; (回车即可)
 
接受答案了.
 
后退
顶部