Oracle_Day09(PLSQL编程、PL\SQL块)
PLSQL编程
- PL /SQL是一种高级数据库程序设计语言
- 该语言集成于数据库服务器中
- PL/SQL代码可以对数据进行快速高效的处理
PL/SQL包括两部分,一部分是数据库引擎部分;另一部分是可嵌入到许多产品(如C语言,JAVA语言等)工具中的独立引擎。可以将这两部分称为:数据库PL/SQL和工具PL/SQL
PLSQL与SQL的处理数据的区别
--示例1 : 为每一位职员涨薪10%
Update emp set sal = sal * 1.1
按照员工的职位进行涨薪 ,总经理涨薪10000元,部门经理涨薪8000元 其他员工统一涨薪1000元
PL/SQL块
PL/SQL程序由三个块组成,即声明部分、执行部分、异常处理部分。
PL/SQL块的结构如下:
DECLARE
/* 声明部分: 在此声明PL/SQL用到的变量,类型及游标,以及局部的存储过程和函数 */
BEGIN
/* 执行部分: 过程及SQL 语句 , 即程序的主要部分 */
EXCEPTION
/* 执行异常部分: 错误处理 */
END;
--其中,执行部分是必须的
PL/SQL块可以分为三类:
- 无名块:动态构造,只能执行一次。
- 子程序:存储在数据库中的存储过程、函数及包等。当在数据库上建立好后可以在其它程序中调用它们。
- 触发器:当数据库发生操作时,会触发一些事件,从而自动执行相应的程序。
--PL/SQL Hello World
DECLARE /* 声明部分: 在此声明PL/SQL用到的变量,类型及游标,以及局部的存储过程和函数 */
str varchar2(18);
i number;
BEGIN /* 执行部分: 过程及SQL 语句 , 即程序的主要部分 */
str := 'HelloWorld';
i := 'aaa';
dbms_output.put_line(str);
dbms_output.put_line(i);
EXCEPTION /* 执行异常部分: 错误处理 */
when others then
dbms_output.put_line('输出有误');
END;
str varchar2(18); 声明一个变量 变量名称在前 类型在后
str := ‘HelloWorld’; 为变量str赋值 := 是一个赋值运算符
dbms_output.put_line(str); 输出语句 相当于System.out.println();
DECLARE /* 声明部分: 在此声明PL/SQL用到的变量,类型及游标,以及局部的存储过程和函数 */
V_name varchar2(18);
V_number := 45;
--如果变量在声明时使用了NOT NULL,则必须为变量指定初始值,
i number not null := 10;
--如果变量在声明时使用了CONSTANT,则必须为变量指定初值,并且初值不可改变。
i CONSTANT number := 10;