- pl/sql组成:DDL DML DCL
- pl/sql特点:
- SQL&PL/SQL编译器集成PL/SQL,支持SQL所有范围的语法
- 支持CASE语句和表达式
- 继承和动态方法释放
- 类型进化。属性和方法可以添加到对象类型中,也可以从对象类型中删除,不需要重新构建类型和响应数据。这使得类型体系能够随着应用改变,不需要在开始的地方就规划好。
- ……
- 数据抽象
- 信息隐藏
- 开发和运行环境:pl/sql编译和运行系统时一项技术而不是一个独立的产品,pl/sql能够驻留在oracle数据库服务器和开发工具两个环境中,pl/sql与oracle服务器捆绑在一起。在这两个环境中,pl/sql引擎接收任何pl/sql块和子程序作为输入,引擎执行过程语句将sql语句发送给oracle服务器的sql语句执行器执行。
- 字符集:
- 所有的大写和小写英文字母
- 数字0-9
- 符号() + - * /< > = ! ~ ; : . ' @ % , “ # ^ & _ { } ? [ ]
- 数据类型:
- 常用数据类型:VARCHAR NUMBER DATE BOOLEAN
- 变量
- 常量
- 对象类型
- 基本程序结构和语句
- 程序块基本结构
- 几个结构框架
- 条件结构:
IF<条件表达式>THEN
<PL/SQL 语句>;
END IF;IF<条件表达式>THEN
<PL/SQL 语句>;
ELSE
<PL/SQL 语句>;
END IF;IF<条件表达式1>THEN
<PL/SQL语句1>;
ELSIF<条件表达式2>THEN
<PL/SQL语句2>;
ELSE
<PL/SQL语句3>;
END IF; - 循环结构
LOOP
<循环体>
IF<条件表达式>THEN
EXIT;
END IF;
END LOOP;LOOP
<循环体>
EXIT WHEN<条件表达式>
END LOOP;WHILE<条件表达式>
LOOP
<循环体>
END LOOP;FOR<循环变量名>IN<变量初值>..<变量终值>
LOOP
<循环体>
END LOOP; - CASE
CASE<变量名>
WHEN<值1>THEN<语句1>
WHEN<值2>THEN<语句2>
...
WHEN<值n>THEN<语句n>
[ELSE<语句>]
END CASE; - GOTO
GOTO<标号>
<<标号>>语句
eg:
DECLARE
count NUMBER:=0;
BEGIN
LOOP
count=count+1;
IF count=10 THEN
GOTO loop_end;
END IF;
END LOOP;
<<loop_end>>
DBMS_OUTPUT.PUT_LINE('计数为10时退出循环');
END;