1、什么是PL/SQL:
PL/SQL语言是一种高级数据库程序设计语言,是Oracle公司对标准SQL语言的过程化扩展。它将SQL语言(4GL)的强大灵活性与3GL的过程性结构融为一体。
2、为什么使用PL/SQL:
SQL是标准的数据库查询语言,也是第四代语言。虽然它易于学习和使用但它无法开发出大型的商业程序,因为它没有分支和循环等结构。PL/SQL是在SQL的基础之上进行了扩展,它包括了结构化程序设计语言的全部特点,而且还可以将SQL语句直接嵌入到PL/SQL程序中。因此它非常适合于Oracle数据库编程。由于该语言集成于数据库服务器中,所以PL/SQL代码可以对数据进行快速高效的处理。
3、怎样编写PL/SQL程序:
PL/SQL有自己的字符集、保留字、标点、数据类型、语法等。
PL/SQL语法:
1、PL/SQL基本结构:
在理解PL/SQL组成时候我们先了解下块的概念。块是PL/SQL的基本程序单元,编写PL/SQl程序就是在编写块,实现简单的应用就可以编写PL/SQL块,对于复杂应用我们可以在一个PL/SQL块嵌套另一个PL/SQL块。
PL/SQL块组成:定义部分、执行部分、列外部分三部分;
PL/SQL块基本结构:
delcare
/*
定义变量---定义常量、变量、复杂数据类型、游标、理解
*/
begin
/*
执行部分---PL/SQL语句和SQL语句
*/
exception
/*
例外处理部分---处理运行错误
*/
2、注释:
3、变量和常量:
4、赋值语句:
5、控制语句:
6、循环语句:
7、数组的声明
8、自定义异常:
PL/SQL案例:
1、/*
1、PL/SQL定义变量
2、PL/SQL执行SQL-DML语句
3、PL/SQL执行多条SQL语句
4、关键字type用法
5、关键子into用法
*/
declare
-- 1、PL/SQL定义变量
v_ename scott.emp.ename%type;
v_empno scott.emp.empno%type;
v_job scott.emp.job%type;
v_mgr scott.emp.mgr%type;
v_hiredate scott.emp.hiredate%type;
v_sal scott.emp.sal%type;
v_deptno scott.emp.deptno%type;
begin
--2、3、执行多条DML-SQL语句
select ename into v_ename from scott.emp where empno=7369;--into用法
dbms_output.put_line('员工号是 7369 的职员名:'||v_ename);
update scott.emp set sal=sal+500 where ename=v_ename;
select empno,ename,job,mgr,hiredate,sal,deptno into v_empno,v_ename,v_job,v_mgr,v_hiredate,v_sal,v_deptno from scott.emp where empno=7369;
delete from scott.emp where ename=v_ename;
insert into scott.emp(empno,ename,job,mgr,hiredate,sal,deptno)values(v_empno,v_ename,v_job,v_mgr,v_hiredate,v_sal,v_deptno);
end;