PL/SQL编程

PL/SQL编程

一:什么是PL/SQL

(1.)PL/SQL体系结构: PL/SQL引擎用来编译和执行,PL/SQL块或子程序,该引擎驻留在Oracle服务器中。 (2.)PL/SQL块简介 PL/SQL是一种块结构语音,它将一组语句块放在一个快中。 (3.)运算符和表达式: PL/SQL语音支持操做符包含关系运算符,通常运算符和逻辑运算符,与SQL语音相似。 (4.)常量和变量声明 在PL/SQL块的可执行部分引用变量和常量前,必须先对其进行声明。变量和PL/SQL块的部分声明,在PL/SQ块的 可执行部分被使用。语法以下: Variable_name data_type 变量范围 变量的初始值; (5.)注释: 在PL/SQL能够使用以下两种注释符号: ‘--’双减号 ‘/* */’sql

在PL/SQL快中的可执行部分引用的变量和常量前,必须先对其声明

语法:variable_name data_type[(size)][:=init_value]; 变量名称 数据类型 size 指定变量的初始值数据库

二:PL/SQL数据类型

(1.)Oracle使用变量类型图编程

(2.)LOB数据类型 (3.)属性类型: %Type:定义一个变量,其数据类型与已经定义的某个数据变量(尤为是表的某一列)的数据类型相一致这时能够使用%Type (优势:能够没必要知道所引用的数据库列的数据类型。所引用的数据类型能够实现时改变,容易保持一致,没必要修改PL/SQL程序)
%ROWTYPE:返回一个记录类型,其数据类型和数据库表的数据结构相一致,这时能够使用%ROWTYPE.(优势:能够没必要知道所引用数据库列的个数和数据类型。所引用的数据库中列的个数和数据库类型能够实现改变,容易保持一致,不用修改PL/SQL程序)安全

三:PL/SQL控制语句

(1.)条件控制:if语句以下: If 布尔表达式 then PL/SQL和SQL语句 End if;

If 布尔表达式 then PL/SQL和SQL语句 Elst 其余语句 End if;

If 布尔表达式 then PL/SQL和SQL语句 Elsif 其余布尔表达式 then 其余语句 Elsif 其余布尔表达式 then Else 其余语句 End if;服务器

(2.)case 语法以下 ----------------格式1---------------- Case 条件表达式 When 条件表达式1 then 语句段1 When 条件表达式2 then 语句段2 ……………. When 条件表达式n then 语句段n End case; ----------------格式2---------------- Case 条件表达式 When 条件表达式1 then 语句段1 When 条件表达式2 then 语句段2 ……………. When 条件表达式n then 语句段n Else 语句段 End case; (3.)循环控制:Loop循环语法以下: Loop 要执行的语句; Exit when 条件语句 -------条件知足时跳出循环 End loop;

While循环语法以下: While 布尔表达式 loop 要执行的语句; End loop;

For循环语法以下 For 循环计数器 In reverse 下限…….上限 loop 要执行的语句 End loop;数据结构

四:异常处理:

(1.)预约义异常:模块化

(2.)处理用户自定义异常: 在PL/SQL块的定义部分定义的异常状况 异常状况 exceptlon 抛出异常状况: Raise 异常状况 在PL/SQL块的异常状况处理部分对异常状况作出的相应处理工具

五:游标:

(1.)游标的分类 隐式游标:返回单行记录 显示游标:返回多行记录 显示游标使用步骤: (1.)声明游标:cursor 名称 is (2.)打开游标:open 名称; (3.)提取游标:fetch 名称 into variables; (4.)关闭游标: close 名称; (5.)使用循环游标简化游标的读取语法: For 声明记录变量 in 名称 Loop Executable_statements End loop; (4.)No_data_found和notfound的区别 Select………into语句返回0条记录和多条记录是触发no_data_found 当update或delete语句的where子句未找到时,触发%notfound 在提取循环中用%notfound或%found来肯定循环的退出条件,而不用no_data_fuondoop

六:存储过程:

子程序的组成: (1.)声明部分:类型,游标,常量,变量,异常,嵌套子程序声明 (2.)可执行部分:可执行部分包括赋值,控制执行过程存储过程当中出现的异常 (3.)异常处理部分:异常处理程序,负责处理执行存储过程当中出现的异常。 子程序的优势以下: 模块化,可重用性,可维护性,安全性。 (4.)存储过程用法: 1.建立存储过程:语法以下: Create 语句 procedure 存储名称 参数列表 Is|as 局部声明 Begin
可执行语句 exception 异常处理程序 End 存储名称; 2.调用存储过程 (1.)用命令调用 语法以下: Exce 过程名称 参数列表; (2.)参数的传递方式三种: 按位置传递 Exec add_emp(1111,‘mary’,2000,’‘manager’,10); 按名称传递fetch

混合方式传递 3.存储过程参数模式语法以下: 存储名称 in|out|in out datatype :=赋值; 4.存储过程访问权限 -----授予a执行emp的权限 Grant execute no add_emp to a -------撤销权限 Revoke execute on add_emp from a; 5.删除存储过程 Drop procedure 存储名称;

七:存储过程的调试与跟踪:

(1.)在sql*plus下调试 (2.)用户PL/SQL Developer工具调试 其中on_flag有三种状况: *0表示过程执行成功但无提示信息。 *大于0表示过程执行成功但有提示信息。 *小于1表示过程执行失败且有提示信息。

相关文章
相关标签/搜索