PL/SQL学习一
1.PL/SQL是由Oracle开发,只适用于Oracle数据库.
2.PL/SQL包含过程化语句和SQL语句。
3.数据操作和查询语句被包含在PL/SQL代码的程序单元中(PL/SQL块),经过逻辑判断,循环 操作完成复杂的功能或者计算。
4.PL/SQL是块结构化语言(程序能被分成若干逻辑块)。
5.一个基本的PL/SQL块由3部分组成:
定义部分(DECLARE)
可执行部分(BEGIN)
异常处理部分(EXCEPTION)
DECLARE--可选
--变量、常量、游标、用户自定义的特殊类型
BEGIN--必须
--SQL语句
--PL/SQL语句
EXCEPTION--可选
--错误发生时的处理动作
END;--必须
6.PL/SQL优点:
改善了性能:
可重用性:PL/SQL能运行在任何oracle环境中,在其他oracle能够运行的操作系统上无需修改代码。
模块化:
7.PL/SQL块的类型:
匿名块:只能执行一次,不能被存储在数据库中
过程、函数、包:命名的PL/SQL块,被存储在数据库中,能够被多次执行,可以用外部程序来显示。
触发器:命名的PL/SQL块,被存储在数据库中,能够被多次执行,当相应的触发事件发生时自动被执行。
8.PL/SQL变量:
<1>.标识符的命名和oracle对数据库对象的命名原则相同。
---至多30个字符
---不能是保留字
---必须以字母开头
---包含字母、$、#、_、数字符号
<2>.变量类型:
---标量型(只能存储单值,内部没有分量)
标量四个类别:
数字型:number,binary_integer等
字符型:char,varchar2,long,RAM等
日期型:date,timestamp等
布尔型(oracle里面没有):boolean:true/false/null
---复合型
---引用型
---LOB型(大型的对象)
BLOB、BFILE都以二进制存储
BLOB保存到数据库里
BFILE保存数据库外边
<3>.变量声明时若是使用not null 约束条件定义变量时,必须赋初值。
<4>.在常量声明时关键字CONSTANT必须位于类型指定符之前,必须被初始化。
<5>.不能有x,y,z number(4)只能是
x number(4);
y number(4);
z number(4);
<6>.使用赋值运算符(:=)或DEFAULT保留字将变量初始化
<7>.变量赋值:
select语句执行后,将出现下列情况之一:
只检索了一行
检索了多行
不检索任何行
只有检索到一行数据时,程序不会报错,也就是select才成功操作。
9.%TYPE的属性:
通过%TYPE属性声明一个变量,实际上就是参照变量或者表中字段的类型作为变量的类型,并且保持同步。
PL/SQL在运行程序时确定变量的数据类型和大小。
10.要在PL/SQL中引用绑定变量,需在该变量名前加上一个冒号(:):
例如:
11.dbms_output.put_line:
Oracle支持的存储过程
从PL/SQL块中显示数据
set serveroutput on 设置环境变量serveroutput为打开状态
12.PL/SQL块的代码注释:
/*和*/之间用多行注释
单行注释用“--“
13.PL/SQL中的SQL函数:
14.PL/SQL中的SQL语句: