PL/SQL是什么
PL/SQL是结合了Oracle过程语言和结构化查询语言(sql)的一种扩展语言。
PL/SQL简介
PL/SQL是一种块结构语言,它将一组语句放在一个块中。PL/SQL块将逻辑上相关的声明和语句组合在一起。
匿名块是一个围在数据块中命名的PL/SQL快,在运行时被传递到PL/SQL引擎以便执行。
注:
1.在PL/SQ块中可以使用SELECT、INSERT、UPDATE、DELETE等DML语句、事务控制语句以及SQL函数等。
2.PL/SQL中不允许直接使用CREATE、DROP、ALTER、等DDL语句。
PL/SQL块的结构:
[DECLARE]
声明部分:在此声明的PL/SQL用到的变量、类型以及游标,以及局部的存储过程和函数。
BEGIN
执行部分:过程以及SQL语句,即程序的主要部分
[EXCEPTION]
异常处理部分:错误处理
END; --注意分号
运算符
一般运算符
:= 赋值运算符
=> 关系号
.. 范围运算符
|| 字符连接符
逻辑运算符
IS NULL 是空值
BETWEEN AND 介于两者之间
IN 在一列值之间
AND 逻辑与
OR 逻辑或
NOT 取反,如IS NOT NULL, NOT IN
变量命名方法
标识符
|
命名规则
|
程序变量 |
v_name
|
程序常量
|
c_name
|
游标变量
|
cursor_name
|
异常标识
|
e_name
|
表类型
|
name_table_type
|
表
|
name_table
|
记录类型 |
name_record
|
绑定变量
|
g_name
|
常量和变量的声明
var_name date_type[(size)] [:=init_value]; //声明变量
var_name CONSTANT date_type[(size)] [:=init_value]; //声明常量
例:
v_ename VARCHAR2(20) := '值'; //声明一个v_ename的变量名,并且赋值为 '值' ;
变量赋:
1.在声明变量的时候赋值,如上面的实例。
2.在执行部分使用SELECT INTO赋值。
如:SELECT ename INTO v_ename FROM EMP WHERE empno = '7789';
ename:为表中的列名
v_ename:为变量名
注:
1.在赋值时,表的列名要与赋值顺序名一样
2.必须查询出来的记录是一条,才能赋值,否则会出错。