微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Oracle数据库创建存储过程

1.最简单的存储过程

sql> create procedure sample_proc is
  2  begin
  3     null;
  4  end sample_proc;
  5  /

2.如果我们重复建立存储过程

sql> create procedure sample_proc is
  2  begin
  3    dbms_output.put_line('Hello World');
  4  end sample_proc;
  5  /


会出现以下状况

create procedure sample_proc is
*
第 1 行出现错误:
ORA-00955: 名称已由现有对象使用


3.避免存储过程,使用OF REPLACE

sql> create or replace procedure sample_proc is
  2  begin
  3    dbms_output.put_line('Hello World');
  4  end sample_proc;
  5  /

4.在PL/sql程序块中调用该存储过程

sql> set serveroutput on
sql> begin
  2    sample_proc;
  3  end;
  4  /

结果:

Hello World

PL/sql 过程已成功完成。

5.使用EXECUTE在PL/sql程序块中调用该存储过程

sql> execute sample_proc

结果:

Hello World

PL/sql 过程已成功完成。


6.使用EXECUTE简写exec在PL/sql程序块中调用该存储过程

exec sample_proc;


7.使用Show Error显示创建过程中出现的错误

sql> create or replace procedure sample_proc is
  2  begin
  3    dbms_output.put_line(Hello World);
  4  end sample_proc;
  5  /

结果:

警告: 创建的过程带有编译错误

sql> show error

PROCEDURE SAMPLE_PROC 出现错误: LINE/COL ERROR -------- ----------------------------------------------------------------- 3/30 pls-00103: 出现符号 "WORLD"在需要下列之一时: . ( ),* @ % & = - + < / > at in is mod remainder not rem => <an exponent (**)> <> or != or ~= >= <= <> and or like like2 like4 likec as between from using || multiset member submultiset 符号 "." 被替换为 "WORLD" 后继续。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐