- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Oracle 数据库管理与应用 第8章 存储过程与函数的创建 本章要点 存储过程的创建与执行 1 函数的创建与执行 2 8.1 存储过程 存储过程是一个命名的程序块,包括过程的名称、过程使用的参数、过程执行的操作。 8.1.1 创建与调用存储过程 创建存储过程包括存储过程头部的声明和过程内操作的定义两部分。 CREATE [OR REPLACE] PROCEDURE procedure_name [(argument1 [IN | OUT | IN OUT] data_type , argument2 [IN | OUT | IN OUT] data-_type,…)] IS |AS [declaration_section;] BEGIN executable_section; [EXCEPTION exception_handlers;] END [procedure_name]; 注意与匿名块有三点区别: 1.无DECLARE关键字 2.在END后面可以加过程名 作为定义结束的标志 3.存储过程定义完成后需要调用才能执行过程内部的代码。 1. 无参数存储过程的创建与调用 例8.1 创建存储过程,输出系统的日期和时间 CREATE OR REPLACE PROCEDURE display_time IS BEGIN dbms_output.put_line(systimestamp); END display_time; 在SQL*Plus环境中调用存储过程有三种方法: 使用EXECUTE(简写EXEC)命令调用。 使用CALL命令调用。 在匿名的程序块中直接以过程名调用。 例8.2 使用三种方式调用上面创建的存储过程display_time 。 方式一: SET SERVEROUTPUT ON EXECUTE display_time; 方式二: CALL display_time( ); 方式三: BEGIN display_time; END; 注意:用户调用存储过程时必须具有EXECUTE执行权限 。 例8.3 假设例8.1中的存储过程display_time是由system用户创建的,那么现在由scott用户调用,执行过程如下。 CONNECT scott/tiger; --以scott用户连接数据库 EXEC system.display_time; --调用存储过程,由于缺乏权限出错 CONNECT system/abcdef; --以system用户连接数据库 GRANT EXECUTE ON display_time TO scott; --为scott用户授予EXECUTE权限 CONNECT scott/tiger; SET SERVEROUTPUT ON; EXEC system.display_time; 2. 带有IN参数的存储过程的创建 定义输入型参数时可以指定IN关键字,也可以省略。 例8.4 为scott.emp表创建一个能完成插入功能的存储过程insert_emp。 CREATE OR REPLACE PROCEDURE insert_emp (vno IN scott.emp.empno%TYPE, vname IN scott.emp.ename%TYPE DEFAULT NULL, vjob IN scott.emp.job%TYPE DEFAULT SALESMAN, vmgr IN scott.emp.mgr%TYPE DEFAULT 7369, vhired scott.emp.hiredate%TYPE DEFAULT SYSDATE, vsal scott.emp.sal%TYPE DEFAULT 800, vcomm m%TYPE DEFAULT NULL, vdno scott.emp.deptno%TYPE DEFAULT 10 ) IS e_integrity EXCEPTION; PRAGMA EXCEPTION_INIT (e_integrity,-2291); --违反完整约束条件,未找到父项关键字 BEGIN INSERT INTO scott.emp VALUES(vno,vname,vjob,vmgr,vhired,vsal,vcomm,vdno); EXCEPTION WHEN DUP_VAL_ON_INDEX THEN dbms_output.put_line(该员工已经存在!); WHEN e_integrity THEN dbms_output.
您可能关注的文档
- EDA技术及应用:第2章 大规模可编程逻辑器件.ppt
- Oracle 数据库管理与应用:第1章 关系型数据库及Oracle 10g介绍.ppt
- Oracle 数据库管理与应用:第2章 Oracle数据库的体系结构.ppt
- Oracle 数据库管理与应用:第3章 用户、方案的创建与管理.ppt
- Oracle 数据库管理与应用:第4章 表的创建与管理.ppt
- Oracle 数据库管理与应用:第5章 SQL基本查询.ppt
- Oracle 数据库管理与应用:第6章 SELECT高级查询.ppt
- Oracle 数据库管理与应用:第7章 PLSQL编程基础1.ppt
- Oracle 数据库管理与应用:第7章 PLSQL编程基础2.ppt
- Oracle 数据库管理与应用:第7章 PLSQL编程基础3.ppt
- 2025年石家庄市直机关遴选公务员笔试真题汇编附答案解析.docx
- 2025年榆林市直属机关遴选公务员笔试真题汇编带答案解析.docx
- 2024年海西州遴选公务员考试真题汇编及答案解析(夺冠).docx
- 2025年韶关市直属机关遴选公务员笔试真题汇编带答案解析.docx
- 2024年彭水苗族土家族自治县直机关遴选公务员笔试真题汇编及答案解析(夺冠).docx
- 2025年大理州直属机关遴选公务员笔试真题汇编附答案解析.docx
- 2024年张掖市选调公务员考试真题汇编附答案解析.docx
- 2024年荆州市直机关遴选公务员笔试真题汇编及答案解析(夺冠).docx
- 2024年洛阳市直遴选考试真题汇编附答案解析(夺冠).docx
- 2024年贵阳市直机关遴选公务员笔试真题汇编含答案解析(夺冠).docx
最近下载
- 《保教政策法规与职业道德》中职幼儿保育专业全套教学课件.pptx
- 教学法学习成果1—“市场调查问卷设计”教案.doc VIP
- 2025年新苏教版四年级上册科学全册知识点含实验总结.pdf
- 心血管慢病管理策略.pptx
- 美剧剧本怪诞小镇台词本中英文对照精排版第一季第一集.pdf VIP
- 《幼儿良好习惯养成实践研究》-课题研究结题报告.文档.doc VIP
- 重点小学劳技学科学生评语.docx VIP
- 听力解题技巧+课件-2026届高三英语上学期一轮复习专项.pptx
- 第2部分 专题精练 《浮力、压强和密度》综合计算专项突破—全国初中物理竞赛试题精编(八年级下)(解析版).docx VIP
- 包头锦河湾工程CFG桩基础施工合同.docx VIP
原创力文档


文档评论(0)