PL/SQL
PL/SQL是一种块结构的语言,它是将一组语句放在一个块中,一次性发送给服务器。它是结合Oracle过程语言和结构化查询语言的一种扩展语言
PL/SQL代码块的构成
declare --标记声明部分用来声明一些变量,位于begin之前
begin --主程序体开始的标志
主程序体块;
[exception
when 异常名 then 异常处理的方法;
when 异常名 then 异常处理的方法;
...
when other then 异常处理的方法;]
end; --主程序题结束的标志
PL/SQL的常量和变量
变量的定义:
declare --用来声明变量
变量名 变量类型; --直接定义不赋初值
变量名 变量类型:=变量值; --定义变量并且赋初值
变量名 匹配的数据库中原有的值; --直接使用数据库中原有的值来匹配 例(name person.name%type)
常量的定义:
常量名 constant 数据类型:=值; --注意constant是必须的
(宿主常量:定义和普通的常量定义一样,使用时为:变量名 代码如下:)
var emp_name varchar(30); BEGIN SELECT ename INTO :emp_name FROM emp WHERE empno=7499; ② END;
PL/SQL中运算符
类型 符号 说明
赋值运算符 := PL/SQL中的赋值
特殊字符 || 字符串连接符
-- PL/SQL中的单行注释
/*,*/ PL/SQL中的多行注释,多行注释不能嵌套
<<,>> 标签分割符,只为了标示程序中的特殊位置
.. 范围操作符比如:1..5标示从1到5
算术运算符 + - * / 基础算术运算符
** 求幂操作例子:2**3=8
关系运算符 > ,< ,>=, <=, = 基本关系运算符
<>,!= 不等于运算符
逻辑运算符 and,or,not 逻辑运算符
PL/SQL程序的主体执行部分
赋值语句:
(1)接收用户的输入:
declare n int; --定义一个变量来接收用户输入的数值 begin n:=&a; --弹出一个消息框进行输入 end;
(2)从查询结果中赋值
set serveroutput on; declare n number(4); begin select empno into n from emp where=‘7369‘; dnms_output.put(n); end;
PL/SQL控制语句
(1)if...then elsif … then end if;
判断if正确则执行then,否则执行else(elsif为嵌套判断)
注意elsif,里面少一下e.
(2)Case var when … then when … then end
有逻辑的从数值中做出选择
(3)Loop exit end loop
循环控制,用判断语句执行exit
(4)Loop exit when … end loop
同上,当when为真时执行exit
(5)while 条件 loop 循环体 end loop
当while为真时循环
(6)for 循环变量 in [rerverse意思是反转即从上限想下限循环] 循环下限..循环管上限 loop 循环体 end loop
已知循环次数的循环