网络消费网 >  品牌机 > > 正文
oracle存储过程是什么?oracle存储有哪些复杂的功能?
时间:2022-02-08 15:36:12

本教程操作环境:windows7系统、oracle 11.2.0.1.0版,DELL G3电脑。

Oracle存储过程包含三部分:过程声明,执行过程部分,存储过程异常(可写可不写,要增强脚本的容错性和调试的方便性那就写上异常处理)

存储过程它的使用主要是完成一项复杂的功能,如果直接使用sql语句则每次都需要进行编译,而存储过程只需要编译一次,以后直接调用即可,它的语法为

1

2

3

4

5

6

 

create or replace procedure procedure_name

as

begin

extention;

end;

/

 

行1:

CREATE OR REPLACE PROCEDURE 是一个SQL语句通知Oracle数据库去创建一个叫做skeleton存储过程, 如果存在就覆盖它;

行2:

IS关键词表明后面将跟随一个PL/SQL体。

行3:

BEGIN关键词表明PL/SQL体的开始。

行4:

NULL PL/SQL语句表明什么事都不做,这句不能删去,因为PL/SQL体中至少需要有一句;

行5:

END关键词表明PL/SQL体的结束

存储过程创建语法:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

 

create or replace procedure 存储过程名(param1 in type,param2 out type)

as

变量1 类型(值范围); --vs_msg VARCHAR2(4000);

变量2 类型(值范围);

Begin

Select count(*) into 变量1 from 表A where列名=param1;

 

If (判断条件) then

Select 列名 into 变量2 from 表A where列名=param1;

Dbms_output。Put_line(‘打印信息’);

Elsif (判断条件) then

Dbms_output。Put_line(‘打印信息’);

Else

Raise 异常名(NO_DATA_FOUND);

End if;

Exception

When others then

Rollback;

End;

 

注意事项:

1, 存储过程参数不带取值范围,in表示传入,out表示输出

类型可以使用任意Oracle中的合法类型。

2, 变量带取值范围,后面接分号

3, 在判断语句前最好先用count(*)函数判断是否存在该条操作记录

4, 用select 。。。into。。。给变量赋值

5, 在代码中抛异常用 raise+异常名

关键词: 存储过程 oracle 执行过程 sql语句

版权声明:
    凡注明来网络消费网的作品,版权均属网络消费网所有,未经授权不得转载、摘编或利用其它方式使用上述作品。已经本网授权使用作品的,应在授权范围内使用,并注明"来源:网络消费网"。违反上述声明者,本网将追究其相关法律责任。
    除来源署名为网络消费网稿件外,其他所转载内容之原创性、真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考并自行核实。
热文

网站首页 |网站简介 | 关于我们 | 广告业务 | 投稿信箱
 

Copyright © 2000-2020 www.sosol.com.cn All Rights Reserved.
 

中国网络消费网 版权所有 未经书面授权 不得复制或建立镜像
 

联系邮箱:920 891 263@qq.com

备案号:京ICP备2022016840号-15

营业执照公示信息