数据库存储过程 (简单入门)

本文由黑壳网原创
本文章来源数据库存储过程(简单入门)~黑壳网

壳叔搞笑段子~
一个人坐上出租汽车,当接近自己家时,发现身上已分文不剩。“在这里停下,”他喊道,“我到路旁的小卖店买包香烟就回来。我有10英镑掉在车上了,因为车内太暗,一时找不到,先借我一点零钱买烟吧。”他接过钱快步进了小卖店,回头一看,就像他预想的那样,出租车飞快地开跑了。

![0726defc3f3c4e6eb19f6b8ccbdacb18-timg.jpeg](//oot0mlws2.bkt.clouddn.com//file/2017/4/0726defc3f3c4e6eb19f6b8ccbdacb18-timg.jpeg) 今天,刚把oracle装在虚拟机里,然后由感而发,写了一篇过于入门的存储过程文章。

我先简答科普一下存储过程。

存储过程相当于数据库中的子程序。

简单讲几句了解一下存储过程的好处,例如做一个功能,如果你在前台处理处理的话,可能会和数据库涉及多次交流,但是如果你用存储过程的话,就只有一次。从相应时间上来说,涉及一次肯定比涉及多次的有优势。也就是说在开发过程当中存储过程有可以提高运行效率的好处。另外,程序容易出现bug不稳定,而存储过程,只要数据库不出现问题,基本上是不会出现什么问题的,从另一个角度来说,或者从安全的角度来说使用了存储过程的系统更加稳定。
i. 存储过程与存储函数的概念

在数据库中,有很多的对象,这些对象包含了(表、视图、索引、序列、同义词)和(存储过程、存储函数)

是指在数据库中供所有用户程序调用的子程序,叫存储过程和存储函数

存储过程和存储函数的相同点:完成指定的功能程序

存储过程和存储函数的区别:是否用return语句返回值

存储过程不能通过return返回一个函数的值,这一点是存储过程和存储函数最大的区别。初此之外,我们完全可以当存储过程和存储函数是一样的。

ii. 存储过程的创建
用CREATE PROCEDURE 命令建立存储过程和存储函数
语法

CREATE [OR REPLACE] PROCEDURE 存储过程名(参数列表)
-- sql语句通知oracle数据库创建 (存储过程名) 的存储过程 ,如果有就覆盖它 ,REPLACE表示是否覆盖。
AS --说明部分,即使没有说明也不可以省略AS
PLSQL --子程序体;

注: 存储过程只能创建和替换,不可以修改!!! 存储函数同样 我创建一个存储过程示例 b04f00754fd04deb9e127e40b05fb530.png 存储过程编译完成之后,会生成一个新的名为bhusk的存储过程

点击运行

打印输出,还有一种调用存储过程的方式,适合比较要逼格的同学

首先打开以下界面

输入sqlplus 进入输入oracle用户密码控制台界面

确认 用户名和口令输入无误~ 按下enter 回车

进入以下界面,说明你已经成功进入sqlplus了,如果没有百度科普一下,解决问题

执行set serveroutput on 命令设置环境变量serveroutput 为打开状态,从而使得pl/sql程序能够在sqlplus中输出结果!


调用存储过程有两种命令
1、execute 可以缩写exce 可以说明是sqlplus语句
示例

2、

begin
bhusk();
bhusk();
end;
/

这个可以在命令中可多次执行存储过程。

总结:本次主要是存储的入门,让你知道存储过程创建以及调用。后期会写参数的使用以及,然后慢慢深入的文章。

黑壳博客 blog.bhusk.com

E-mail:keshu@bhusk.com

本文由 黑壳博客的壳叔 创作或转载,采用 知识共享署名 3.0 中国大陆许可协议 进行许可。

可自由转载、引用,但需署名作者且注明文章

留下你的脚步
推荐阅读