- 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
- 变量
- 常量
- 对象类型
- 基本程序结构和语句
- 程序块基本结构
- 几个结构框架
- 条件结构:
1 IF<条件表达式>THEN 2 <PL/SQL 语句>; 3 END IF;
1 IF<条件表达式>THEN 2 <PL/SQL 语句>; 3 ELSE 4 <PL/SQL 语句>; 5 END IF;
1 IF<条件表达式1>THEN 2 <PL/SQL语句1>; 3 ELSIF<条件表达式2>THEN 4 <PL/SQL语句2>; 5 ELSE 6 <PL/SQL语句3>; 7 END IF;
- 循环结构
1 LOOP 2 <循环体> 3 IF<条件表达式>THEN 4 EXIT; 5 END IF; 6 END LOOP;
1 LOOP 2 <循环体> 3 EXIT WHEN<条件表达式> 4 END LOOP;
1 WHILE<条件表达式> 2 LOOP 3 <循环体> 4 END LOOP;
1 FOR<循环变量名>IN<变量初值>..<变量终值> 2 LOOP 3 <循环体> 4 END LOOP;
- CASE
1 CASE<变量名> 2 WHEN<值1>THEN<语句1> 3 WHEN<值2>THEN<语句2> 4 ... 5 WHEN<值n>THEN<语句n> 6 [ELSE<语句>] 7 END CASE;
- GOTO
1 GOTO<标号> 2 <<标号>>语句 3 eg: 4 DECLARE 5 count NUMBER:=0; 6 BEGIN 7 LOOP 8 count=count+1; 9 IF count=10 THEN 10 GOTO loop_end; 11 END IF; 12 END LOOP; 13 <<loop_end>> 14 DBMS_OUTPUT.PUT_LINE('计数为10时退出循环'); 15 END;