`
石头的日记
  • 浏览: 200597 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类

Oracle存储过程

阅读更多

一. 概述
  Oracle存储过程开发的要点是:
  • 使用Notepad文本编辑器,用Oracle PL/SQL编程语言写一个存储过程;
  • 在Oracle数据库中创建一个存储过程;
  • 在Oracle数据库中使用SQL*Plus工具运行存储过程;
  • 在Oracle数据库中修改存储过程;
  • 通过编译错误调试存储过程;
  • 删除存储过程;
  二.环境配置
  包括以下内容:
  • 一个文本编辑器Notepad;
  • Oracle SQL*Plus工具,提交Oracle SQL和PL/SQL 语句到Oracle database。
  • Oracle 10g express数据库,它是免费使用的版本;
  需要的技巧:
  • SQL基础知识,包括插入、修改、删除等
  • 使用Oracle's SQL*Plus工具的基本技巧;
  • 使用Oracle's PL/SQL 编程语言的基本技巧;
  三.写一个存储过程
  存储过程使用Oracle's PL/SQL 程序语言编写,让我们写一个什么工作都不做的存储过程,我们可以编译和运行它而不用担心会对数据库产生任何损害。
  在Notepad, 写下:
  CREATE OR REPLACE PROCEDURE skeleton
  IS
  BEGIN
  NULL;
  END;
  把文件存为skeleton.sql.
  让我们一行行遍历这个存储过程:
  1 CREATE OR REPLACE PROCEDURE skeleton
  2 IS
  3 BEGIN
  4 NULL;
  5 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体的结束
  四.创建一个存储过程
  SQL语句CREATE OR REPLACE PROCEDURE在Oracle数据库中创建、编译和保存一个存储过程。
  从Window打开SQL*Plus并且从SQL*Plus登录到你的数据库;打开skeleton.sql文件.
  在SQL>命令提示符下输入以下命令:
  SQL>@skeleton
  SQL>/
  SQL*Plus装载skeleton.sql文件的内容到SQL*Plus缓冲区并且执行SQL*Plus语句;SQL*Plus 会通知你存储过程已经被成功地创建。
  现在你的存储过程被创建,编译和保存在你的Oracle数据库,我们可以运行它。
  五.运行一个存储过程
  从SQL*Plus 命令行提示符运行你的存储过程使用EXECUTE命令,如下:
  SQL> EXECUTE skeleton;
  SQL*Plus 输出一下信息确信存储过程成功执行: PL/SQL procedure successfully completed.
  你也可以在一个无名PL/SQL块内运行你的存储过程,在SQL*Plus命令提示符下,它看起来像:
  SQL> BEGIN
  2 SKELETON;
  3 END;
  4 /
  现在我们已经运行了我们的存储过程,我们如何修改它呢?
  六.修改一个存储过程
  让我们写一个输出字符串“Hello World!”的存储过程,用Notepad打开你的skeleton.sql 文件,. 用DBMS_OUTPUT.PUT_LINE 过程调用去替换NULL语句,如下所示:
  CREATE OR REPLACE PROCEDURE skeleton
  IS
  BEGIN
  DBMS_OUTPUT.PUT_LINE('Hello World!');
  END;
  保存到文件skeleton.sql.
  从SQL*Plus命令行, 打开文件skeleton.sql .
  SQL> @skeleton
  SQL>
  1 CREATE OR REPLACE PROCEDURE skeleton
  2 IS
  3 BEGIN
  4 DBMS_OUTPUT.PUT_LINE('Hello World!');
  5* END;
  SQL> /
  SQL*Plus 通知你存储过程成功创建并输出提示信息:Procedure created.
  SQL>
  用EXECUTE 命令运行你的存储过程:
  SQL> EXECUTE skeleton;
  SQL*Plus显示存储过程运行成功:PL/SQL procedure successfully completed.
  我们想要的输出字符串 "Hello World!"没有出来,在显示一个DBMS_OUTPUT.PUT_LINE 结果前需要运行一个SET命令,在SQL*Plus 命令行提示符,键入:
  SQL> SET SERVEROUTPUT ON
  再次执行你的存储过程:
  SQL> EXECUTE skeleton;
  现在结果输出了:Hello World!
  PL/SQL procedure successfully completed.
  七.调试一个存储过程
  当调试一个存储过程时,遵循一样的步骤,修改SQL文件,创建存储过程,执行存储过程,根据编译器反馈的出错信息进行修改,这一步是非常繁琐的,需要依靠经验。
  在实际的商用存储过程的开发调试过程中,由于涉及很多表、类型、光标、循环、条件等复杂的逻辑,和PL/SQL语句的灵活运用,编译时会产生很多错误提示信息,程序员在根据这些错误信息定位,进行修正,再编译最后得到正确的结构;
  八.放弃一个存储过程
  如果在数据库中你不在需要一个存储过程你可以删除它,SQL语句 DROP PROCEDURE 完成从数据库中删除一个存储过程,DROP PROCEDURE 在SQL中被归类为数据定义语言(DDL) 类操作,其他的例子有CREATE, ALTER, RENAME 和TRUNCATE。.
  在SQL*Plus 命令提示符下,使用DROP PROCEDURE SQL 语句删除你的叫做skeleton的存储过程:
  SQL> DROP PROCEDURE skeleton;
  SQL*Plus assures us the procedure has been removed:
  Procedure dropped.
  总结
  本文详细讨论了如何使用Oracle工具开发Oracle商用存储过程的步骤。最后在存储过程的使用中可能是程序直接调用,也可能被触发器调用。
原文链接:http://topic.csdn.net/u/20100308/23/1b7465cb-3ef9-42b6-86b9-b33946bc0271.html

分享到:
评论

相关推荐

    电子商务之价格优化算法:动态定价:动态定价的实施与案例研究.docx

    电子商务之价格优化算法:动态定价:动态定价的实施与案例研究.docx

    VB程序实例-Office或IE风格的工具栏.zip

    基于VB的程序实例,可供参考学习使用

    aggdraw-1.3.14-cp39-cp39-win32.whl.rar

    python whl离线安装包 pip安装失败可以尝试使用whl离线安装包安装 第一步 下载whl文件,注意需要与python版本配套 python版本号、32位64位、arm或amd64均有区别 第二步 使用pip install XXXXX.whl 命令安装,如果whl路径不在cmd窗口当前目录下,需要带上路径 WHL文件是以Wheel格式保存的Python安装包, Wheel是Python发行版的标准内置包格式。 在本质上是一个压缩包,WHL文件中包含了Python安装的py文件和元数据,以及经过编译的pyd文件, 这样就使得它可以在不具备编译环境的条件下,安装适合自己python版本的库文件。 如果要查看WHL文件的内容,可以把.whl后缀名改成.zip,使用解压软件(如WinRAR、WinZIP)解压打开即可查看。 为什么会用到whl文件来安装python库文件呢? 在python的使用过程中,我们免不了要经常通过pip来安装自己所需要的包, 大部分的包基本都能正常安装,但是总会遇到有那么一些包因为各种各样的问题导致安装不了的。 这时我们就可以通过尝试去Python安装包大全中(whl包下载)下载whl包来安装解决问题。

    通用模板/素材/样式-100套大数据可视化系统大屏页面(开箱即用)+python源码+演示+文档说明

    包含: 001 服务大数据可视化监管平台 002 水质情况实时监测预警系统 003 联心菜市场数据中心 004 政务大数据共享交换平台 005 可视化监控管理 006 全国疫情实时监控 007 惠民服务平台 009 某公司大数据监控平台 010 双数智慧公卫-传染病督导平台 011 大数据可视化系统数据分析通用模版 012 某公司大数据展示模版 013 某公司大数据展示模版 014 时实客流量监控中心 015 广西矿产资源大数据监管平台 016 某某科技有限公司-生产数据中心 017 大数据可视化通用素材 018 大数据可视化系统数据分析通用模版 等等 - 不懂运行,下载完可以私聊问,可远程教学 本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。

    akima-2021.6.6-cp38-cp38-win32.whl.rar

    python whl离线安装包 pip安装失败可以尝试使用whl离线安装包安装 第一步 下载whl文件,注意需要与python版本配套 python版本号、32位64位、arm或amd64均有区别 第二步 使用pip install XXXXX.whl 命令安装,如果whl路径不在cmd窗口当前目录下,需要带上路径 WHL文件是以Wheel格式保存的Python安装包, Wheel是Python发行版的标准内置包格式。 在本质上是一个压缩包,WHL文件中包含了Python安装的py文件和元数据,以及经过编译的pyd文件, 这样就使得它可以在不具备编译环境的条件下,安装适合自己python版本的库文件。 如果要查看WHL文件的内容,可以把.whl后缀名改成.zip,使用解压软件(如WinRAR、WinZIP)解压打开即可查看。 为什么会用到whl文件来安装python库文件呢? 在python的使用过程中,我们免不了要经常通过pip来安装自己所需要的包, 大部分的包基本都能正常安装,但是总会遇到有那么一些包因为各种各样的问题导致安装不了的。 这时我们就可以通过尝试去Python安装包大全中(whl包下载)下载whl包来安装解决问题。

    使用java实现的简单飞机大战游戏.zip

    本资源提供了使用java实现的简单飞机大战游戏,是一款经典的2D射击游戏。玩家在游戏中控制一架飞机,通过键盘操作移动和发射子弹,击落敌机获得积分。当达到一定积分时,会出现Boss,增加游戏难度。游戏还包含碰撞检测、得分系统以及游戏状态管理等功能。该资源旨在帮助学习者掌握Java编程的各个方面,包括面向对象设计、图形界面编程等。通过这个项目,学习者可以深入理解如何使用Java语言实现一个具备基本功能的小游戏,并学会如何处理游戏中的交互、碰撞检测和动画效果等技术细节。本资源适合Java编程初学者及对游戏开发感兴趣的开发者学习和参考,是提升编程技能和项目经验的绝佳实践材料。

    java毕业设计-基于SSM的新生报到系统【代码+论文+PPT+开题】

    原文链接:https://blog.csdn.net/zsd12379/article/details/143531872 包含功能: 个人中心:提供学生个人信息查看与编辑,以及报到进度跟踪的个性化空间。 管理员管理:实现系统管理员的权限分配、角色管理及操作日志监控。 班级管理:负责班级的创建、成员管理、班级信息更新及班级活动安排。 学院管理:维护学院基本信息,包括学院介绍、专业设置及学院新闻发布。 专业管理:提供专业信息的录入、修改及查询服务,支持专业详细介绍。 消息通知:发送报到流程指导、重要日期提醒及个性化通知给学生。 宿舍管理:分配、调整宿舍,记录宿舍信息及处理宿舍相关申请。 缴费管理:实现在线学费、住宿费等各类费用的缴纳、查询及缴费记录保存。 学生管理:涵盖学生信息的录入、审核、查询及学生状态(如报到状态)的更新。

    SolarWinds数据库性能分析器:监控MySQL数据库性能.docx

    SolarWinds数据库性能分析器:监控MySQL数据库性能.docx

    Toad Data Modeler:Toad数据模型器的插件与扩展.docx

    Toad Data Modeler:Toad数据模型器的插件与扩展.docx

    R语言对白葡萄酒数据集进行数据探索项目源码+文档说明(高分项目)

    R语言对白葡萄酒数据集进行数据探索项目源码+文档说明(高分项目),含有代码注释,新手也可看懂,个人手打98分项目,导师非常认可的高分项目,毕业设计、期末大作业和课程设计高分必看,下载下来,简单部署,就可以使用。该项目可以直接作为毕设、期末大作业使用,代码都在里面,系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值,项目都经过严格调试,确保可以运行! R语言对白葡萄酒数据集进行数据探索项目源码+文档说明(高分项目)R语言对白葡萄酒数据集进行数据探索项目源码+文档说明(高分项目)R语言对白葡萄酒数据集进行数据探索项目源码+文档说明(高分项目)R语言对白葡萄酒数据集进行数据探索项目源码+文档说明(高分项目)R语言对白葡萄酒数据集进行数据探索项目源码+文档说明(高分项目)R语言对白葡萄酒数据集进行数据探索项目源码+文档说明(高分项目)R语言对白葡萄酒数据集进行数据探索项目源码+文档说明(高分项目)R语言对白葡萄酒数据集进行数据探索项目源码+文档说明(高分项目)R语言对白葡萄酒数据集进行数据探索项目源码+文档说明(高分项目)R语言对白葡萄酒数据集进行数据探索项目源码+

    springboot003基于Springboot+Vue的图书个性化推荐系统的设计与实现毕业源码案例设计.zip

    springboot003基于Springboot+Vue的图书个性化推荐系统的设计与实现毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。

    yolov10预训练模型.rar

    在按照YOLOv10官网上的步骤进行时,运行app.py文件时,如果没有预训练模型的话会报错。解压压缩包里的内容到同级目录下(在requirements.txt文档下面),这样运行后就不会报错。

    #-ssm-043-mysql-口腔护理网站-.zip

    基于SSM的口腔护理网站主要是后台管理类型的系统,但前台和后台独立存在但又相辅相成,前后台访问的是同一个数据库,但是所访问的数据库对象不同。 前台: (1)用户可以匿名浏览网站内容和观看口腔护理的小贴士,但不能评论也不能回复,更不能进行自己健康信息的录入。 (2)医生的注册与登录:口腔科的医生用户们如果想在网站录入自己的个人信息,需要经过一系列的有验证信息的注册,注册成功并登录后,医生可以查看所有的预约信息。 (3)个人中心:用户可以在首页面进行对自己个人信息的查看,以及可以查看自己录入的历史数据。 (4)在线留言:用户可以在网站首页进行在线留言,医生看到后会及时进行回复。 (5)口腔护理预约:用户可以在网站上进行口腔护理的预约。 后台: (1)用户个人信息管理系统:在此系统中维护和新建的用户个人信息,比如说当一个用户的密码被遗漏了,经过对密码提示出现问题的验证就可以直接进行密码的修改。 (2)医生信息的管理功能模块:管理人员可以有效地维护医生信息。 (3)预约信息管理模块:管理员可以随时对网站中的预约信息加以管理维护。 (4)在线留言管理模块:管理员通过账号可以实时管理网站中的留言

    一个Java语言写的俄罗斯方块小游戏。因为作者刚接触Java,正在摸索着学习,代码并非原创,而是跟着别人学习。.zip

    本资源是一个Java语言编写的俄罗斯方块小游戏,旨在帮助初学者通过实战学习Java编程并体验游戏开发的乐趣。项目包含完整的源代码和资源文件,适合计算机相关专业的学生、教师以及企业员工下载学习使用。该项目涵盖了Java编程、GUI设计、事件处理、多线程等多个核心概念,是学习和实践Java技术的好例子。通过阅读和理解源代码,开发者可以提升自己的编程技能,加深对面向对象编程范式的理解。此外,项目经过测试,功能正常,作者的答辩评分高达96分,因此质量得到了验证。用户在下载使用之前应首先查看README.md文件(如果存在),该文件中包含了项目的相关信息和使用说明。需要注意的是,本资源为学习资源,仅供学习和研究目的使用,不得用于商业目的。用户必须遵守相关的法律法规,尊重原创者的劳动成果和知识产权。

    Trustwave DbProtect:DbProtect_高级功能与定制化服务技术教程.docx

    Trustwave DbProtect:DbProtect_高级功能与定制化服务技术教程.docx

    astropy-3.2.3-cp35-cp35m-win32.whl.rar

    python whl离线安装包 pip安装失败可以尝试使用whl离线安装包安装 第一步 下载whl文件,注意需要与python版本配套 python版本号、32位64位、arm或amd64均有区别 第二步 使用pip install XXXXX.whl 命令安装,如果whl路径不在cmd窗口当前目录下,需要带上路径 WHL文件是以Wheel格式保存的Python安装包, Wheel是Python发行版的标准内置包格式。 在本质上是一个压缩包,WHL文件中包含了Python安装的py文件和元数据,以及经过编译的pyd文件, 这样就使得它可以在不具备编译环境的条件下,安装适合自己python版本的库文件。 如果要查看WHL文件的内容,可以把.whl后缀名改成.zip,使用解压软件(如WinRAR、WinZIP)解压打开即可查看。 为什么会用到whl文件来安装python库文件呢? 在python的使用过程中,我们免不了要经常通过pip来安装自己所需要的包, 大部分的包基本都能正常安装,但是总会遇到有那么一些包因为各种各样的问题导致安装不了的。 这时我们就可以通过尝试去Python安装包大全中(whl包下载)下载whl包来安装解决问题。

    VB程序实例-淡入淡出效果.zip

    基于VB的程序实例,可供参考学习使用

    matlab mpc pmsm model

    matlab mpc pmsm model

    基于SpringBoot整合WebSoket完整源码分享给需要的同学

    **正文** 在现代Web开发中,实时通信是一个重要的需求,SpringBoot框架提供了与WebSocket的集成,使得开发者可以方便地在应用程序中实现双向通信。本文将深入探讨如何在SpringBoot项目中整合WebSocket,以及相关的概念和技术。 WebSocket协议是HTML5引入的一种在单个TCP连接上进行全双工通信的协议,它允许服务器主动向客户端推送数据,极大地提高了实时性。而SpringBoot作为Spring框架的轻量级版本,简化了配置和启动流程,使得开发WebSocket应用变得更加便捷。 我们需要在`pom.xml`中添加SpringBoot WebSocket的相关依赖。SpringBoot默认集成了Spring Websocket,我们只需要引入`spring-boot-starter-websocket`模块即可: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifactId

    课设毕设基于SpringBoot+Vue的web学校课程管理系统源码可运行.zip

    本压缩包资源说明,你现在往下拉可以看到压缩包内容目录 我是批量上传的基于SpringBoot+Vue的项目,所以描述都一样;有源码有数据库脚本,系统都是测试过可运行的,看文件名即可区分项目~ |Java|SpringBoot|Vue|前后端分离| 开发语言:Java 框架:SpringBoot,Vue JDK版本:JDK1.8 数据库:MySQL 5.7+(推荐5.7,8.0也可以) 数据库工具:Navicat 开发软件: idea/eclipse(推荐idea) Maven包:Maven3.3.9+ 系统环境:Windows/Mac

Global site tag (gtag.js) - Google Analytics