- 1、本文档共64页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQL与PL_SQL讲座3课件
第七章PL/SQL基础 一、概述 1、PL/SQL PL/SQL是带有编程语言特性的SQL扩展 数据操纵及查询语句被包含在代码的过程单元中 2、PL/SQL的优点 模块化程序的开发 用过程化语言的控制结构编程 处理错误 可移植性 提高性能 3、PL/SQL块结构 DECLARE 变量、常量、游标、自定义异常 BEGIN SQL语句 PL/SQL控制语句 EXCEPTION 错误发生时执行的动作 END; 4、程序类型 匿名块 应用程序触发器 数据库触发器 存储过程/函数 应用程序过程/函数 包过程 5、PL/SQL块的执行 PL/SQL块在PL/SQL引擎中执行: SQL语句使用SQL语句执行器执行 非SQL语句使用过程语句执行器执行 二、子程序编程 1、PL/SQL程序单元 命名的PL/SQL块 主要有三类: 过程执行动作 函数计算值 包将逻辑上相关的过程和函数捆绑在一起 存储在数据库中,或作为应用程序的子程序 2、子程序组件 HEADER 子程序名、类型、参数 DECLARE 局部标识符 BEGIN SQL语句 PL/SQL控制语句 EXCEPTION 错误发生时执行的动作 END; 3、PL/SQL块语法规则 语句可占多行 词汇单元可用空格分开 标识符: 可最多30个字符 不能使用保留字,除非将其括在双撇号中 必须以字母开头 不应与数据库表的列同名 命名规则 注释可为: /*和*/之间的多行注释 --开头的单行注释 4、创建过程 语法: PROCEDURE name[(parameter,...)] IS pl/sql_block; 其中,参数语法为: parameter_name [IN|OUT|IN OUT] datatype[{:=|DEFAULT} expr] 不能指定数据类型的约束 在SQL*Plus中创建过程时,使用CREATE OR REPLACE子句 用IS开始一个PL/SQL块 在IS和BEGIN之间输入局部变量声明 5、创建函数 创建PL/SQL函数可给调用环境返回一个值 在函数声明中加RETURN子句 在PL/SQL块中至少包含一个RETURN语句 语法: FUNCTION name[(parameter,...)] RETURN datatype IS pl/sql_block; 函数不能包含DML语句 所有参数必须为IN 函数中只能用Oracle服务器数据类型,不能用PL/SQL数据类型 可充当单行函数 可在SQL中调用 调用需有EXECUTE权限 6、比较函数与过程 过程:作为PL/SQL语句执行;没有RETURN类型;可返回一个值 函数:作为表达式的一部分调用;必须有RETURN类型;必须返回一个值 7、在PL/SQL中处理变量 声明PL/SQL变量和常量,语法: identifier [CONSTANT] datatype [NOT NULL] [:= | DEFAULT expr]; 遵循命名规则 每行最多声明一个标识符 8、声明基本类型变量(Scalar) 基本类型有: BINARY_INTEGER NUMBER[(precision,scale)] CHAR[(maximum_length)] LONG LONG RAW VARCHAR2(maximum_length) DATE BOOLEAN 9、%TYPE属性 声明变量,可根据: 另一个已声明的变量 数据库列的定义 由PL/SQL确定变量的数据类型及其宽度 使用%TYPE属性的优点: 可以不知道底层数据库列的数据类型 可以在运行时改变底层数据库列的数据类型 10、复合数据类型: Collection Index-by Table Nested Table VARRY RECORD 11、PL/SQL的RECORD 必须包含一个或多个字段,可由基本数据类型、RECORD、或PL/SQL的TABLE类型组成 与数据库表中的行不同 对从表中获取数据行的处理很方便 语法: TYPE type_name IS RECORD (field_name1 field_type [NOT NULL {:=|DEFAULT} expr],...); identifier type_name; 12、%ROWTYPE属性 根据数据库表或视图的一组列声明变量 %ROWTYPE的前缀为数据库表 RECORD中字段的名字和数据类型与表或视图的列一致 13、PL/SQL的TABLE 由两部分组成: 数据类型为BINARY_INTEGER的主键 基本数据
您可能关注的文档
- oracle10g 数据库介绍课件.ppt
- Openssl_加密和解密课件.ppt
- Oracle基础课件.ppt
- OSHA知识培训课件.ppt
- OS之操作系统结构设计课件.ppt
- Overview of the Labor Market(劳动经济学讲义)课件.ppt
- pascal_第2讲_语言基础课件.ppt
- PASCAL第4讲 数组课件.ppt
- PCB行业当前状况--梁志立课件.ppt
- PCR and MOLCULAR MARKER超级经典课件.ppt
- 2025届衡阳市第八中学高三一诊考试物理试卷含解析.doc
- 2025届湖南省娄底市双峰一中等五校重点中学高三第二次诊断性检测物理试卷含解析.doc
- 天水市第一中学2025届高三第二次联考物理试卷含解析.doc
- 2025届金华市重点中学高三考前热身物理试卷含解析.doc
- 2025届北京市石景山区第九中学高三第四次模拟考试物理试卷含解析.doc
- 江苏扬州市2025届高三第一次模拟考试物理试卷含解析.doc
- 2025届江苏省南通市高级中学高考物理五模试卷含解析.doc
- 广东省清远市华侨中学2025届高三第一次调研测试物理试卷含解析.doc
- 辽宁省凤城市2025届高三第五次模拟考试物理试卷含解析.doc
- 内蒙古巴彦淖尔市重点中学2025届高考仿真卷物理试卷含解析.doc
文档评论(0)