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

本贴最后更新于 2555 天前,其中的信息可能已经天翻地覆

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

壳叔搞笑段子~
一个人坐上出租汽车,当接近自己家时,发现身上已分文不剩。“在这里停下,”他喊道,“我到路旁的小卖店买包香烟就回来。我有 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;
/

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

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

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • seanlee

    图片挂掉了。。。

    1 回复
  • ykz200
    作者

    由于网站的 https 加密协议导致不能正常访问,已改回 http,现在可以正常观看。
    感谢你的评论 黑壳网 http://www.bhusk.com

ykz200
我是壳叔,我正在想一个很棒的idea 北京

推荐标签 标签

  • Firefox

    Mozilla Firefox 中文俗称“火狐”(正式缩写为 Fx 或 fx,非正式缩写为 FF),是一个开源的网页浏览器,使用 Gecko 排版引擎,支持多种操作系统,如 Windows、OSX 及 Linux 等。

    7 引用 • 30 回帖 • 452 关注
  • FreeMarker

    FreeMarker 是一款好用且功能强大的 Java 模版引擎。

    23 引用 • 20 回帖 • 427 关注
  • LaTeX

    LaTeX(音译“拉泰赫”)是一种基于 ΤΕΧ 的排版系统,由美国计算机学家莱斯利·兰伯特(Leslie Lamport)在 20 世纪 80 年代初期开发,利用这种格式,即使使用者没有排版和程序设计的知识也可以充分发挥由 TeX 所提供的强大功能,能在几天,甚至几小时内生成很多具有书籍质量的印刷品。对于生成复杂表格和数学公式,这一点表现得尤为突出。因此它非常适用于生成高印刷质量的科技和数学类文档。

    9 引用 • 32 回帖 • 166 关注
  • Bootstrap

    Bootstrap 是 Twitter 推出的一个用于前端开发的开源工具包。它由 Twitter 的设计师 Mark Otto 和 Jacob Thornton 合作开发,是一个 CSS / HTML 框架。

    18 引用 • 33 回帖 • 684 关注
  • RESTful

    一种软件架构设计风格而不是标准,提供了一组设计原则和约束条件,主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

    30 引用 • 114 回帖
  • RYMCU

    RYMCU 致力于打造一个即严谨又活泼、专业又不失有趣,为数百万人服务的开源嵌入式知识学习交流平台。

    4 引用 • 6 回帖 • 40 关注
  • ZeroNet

    ZeroNet 是一个基于比特币加密技术和 BT 网络技术的去中心化的、开放开源的网络和交流系统。

    1 引用 • 21 回帖 • 592 关注
  • 阿里云

    阿里云是阿里巴巴集团旗下公司,是全球领先的云计算及人工智能科技公司。提供云服务器、云数据库、云安全等云计算服务,以及大数据、人工智能服务、精准定制基于场景的行业解决方案。

    89 引用 • 345 回帖
  • WebComponents

    Web Components 是 W3C 定义的标准,它给了前端开发者扩展浏览器标签的能力,可以方便地定制可复用组件,更好的进行模块化开发,解放了前端开发者的生产力。

    1 引用 • 25 关注
  • PWA

    PWA(Progressive Web App)是 Google 在 2015 年提出、2016 年 6 月开始推广的项目。它结合了一系列现代 Web 技术,在网页应用中实现和原生应用相近的用户体验。

    14 引用 • 69 回帖 • 133 关注
  • 电影

    这是一个不能说的秘密。

    120 引用 • 597 回帖
  • Kotlin

    Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,由 JetBrains 设计开发并开源。Kotlin 可以编译成 Java 字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。在 Google I/O 2017 中,Google 宣布 Kotlin 成为 Android 官方开发语言。

    19 引用 • 33 回帖 • 26 关注
  • Vditor

    Vditor 是一款浏览器端的 Markdown 编辑器,支持所见即所得、即时渲染(类似 Typora)和分屏预览模式。它使用 TypeScript 实现,支持原生 JavaScript、Vue、React 和 Angular。

    313 引用 • 1667 回帖 • 1 关注
  • 服务器

    服务器,也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。

    124 引用 • 580 回帖
  • 开源中国

    开源中国是目前中国最大的开源技术社区。传播开源的理念,推广开源项目,为 IT 开发者提供了一个发现、使用、并交流开源技术的平台。目前开源中国社区已收录超过两万款开源软件。

    7 引用 • 86 回帖
  • IBM

    IBM(国际商业机器公司)或万国商业机器公司,简称 IBM(International Business Machines Corporation),总公司在纽约州阿蒙克市。1911 年托马斯·沃森创立于美国,是全球最大的信息技术和业务解决方案公司,拥有全球雇员 30 多万人,业务遍及 160 多个国家和地区。

    16 引用 • 53 回帖 • 123 关注
  • Oracle

    Oracle(甲骨文)公司,全称甲骨文股份有限公司(甲骨文软件系统有限公司),是全球最大的企业级软件公司,总部位于美国加利福尼亚州的红木滩。1989 年正式进入中国市场。2013 年,甲骨文已超越 IBM,成为继 Microsoft 后全球第二大软件公司。

    103 引用 • 126 回帖 • 447 关注
  • 工具

    子曰:“工欲善其事,必先利其器。”

    274 引用 • 682 回帖
  • CloudFoundry

    Cloud Foundry 是 VMware 推出的业界第一个开源 PaaS 云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的问题。

    5 引用 • 18 回帖 • 152 关注
  • Lute

    Lute 是一款结构化的 Markdown 引擎,支持 Go 和 JavaScript。

    25 引用 • 191 回帖 • 21 关注
  • 自由行
    1 关注
  • 百度

    百度(Nasdaq:BIDU)是全球最大的中文搜索引擎、最大的中文网站。2000 年 1 月由李彦宏创立于北京中关村,致力于向人们提供“简单,可依赖”的信息获取方式。“百度”二字源于中国宋朝词人辛弃疾的《青玉案·元夕》词句“众里寻他千百度”,象征着百度对中文信息检索技术的执著追求。

    63 引用 • 785 回帖 • 251 关注
  • 正则表达式

    正则表达式(Regular Expression)使用单个字符串来描述、匹配一系列遵循某个句法规则的字符串。

    31 引用 • 94 回帖
  • 游戏

    沉迷游戏伤身,强撸灰飞烟灭。

    169 引用 • 799 回帖
  • TGIF

    Thank God It's Friday! 感谢老天,总算到星期五啦!

    284 引用 • 4481 回帖 • 654 关注
  • 京东

    京东是中国最大的自营式电商企业,2015 年第一季度在中国自营式 B2C 电商市场的占有率为 56.3%。2014 年 5 月,京东在美国纳斯达克证券交易所正式挂牌上市(股票代码:JD),是中国第一个成功赴美上市的大型综合型电商平台,与腾讯、百度等中国互联网巨头共同跻身全球前十大互联网公司排行榜。

    14 引用 • 102 回帖 • 404 关注
  • Gitea

    Gitea 是一个开源社区驱动的轻量级代码托管解决方案,后端采用 Go 编写,采用 MIT 许可证。

    4 引用 • 16 回帖 • 1 关注