一、理解PL/SQL功能和特点

1,PL/SQL 是过程语言(Procedural Language)与结构化查询语言(SQL)结合而成的编程语言;PL/SQL 是对 SQL 的扩展

2,支持多种数据类型,如大对象和集合类型,可使用条件和循环等控制结构;可用于创建存储过程、触发器和程序包,给 SQL 语句的执行添加程序逻辑

3,与 Oracle 服务器和 Oracle 工具紧密集成,具备可移植性、灵活性和安全性

4,PL/SQL 的优点:

4-1,支持 SQL,在 PL/SQL 中可以使用:数据操纵命令,事务控制命令,游标控制,SQL 函数和 SQL 运算符

4-2,用户把 PL/SQL 块整个发送到服务器端,oracle 服务器端编译、运行,再把结果返回给用户

4-3,可移植性,可运行在任何操作系统和平台上的 Oracle 数据库,另外,PL/SQL 是经过编译后再执行的

4-4,安全性,可以通过存储过程限制用户对数据的访问

4-5,与 SQL 紧密集成,简化数据处理:支持所有 SQL 数据类型,支持 NULL 值,支持 %TYPE 和 %ROWTYPE 属性类型

5,PL/SQL 引擎驻留在Oracle 服务器中,该引擎接受 PL/SQL 块并对其进行编译执行

5-1,PL/SQL 块是构成 PL/SQL 程序的基本单元,将逻辑上相关的声明和语句组合在一起

5-2,PL/SQL 分为三个部分,声明部分、可执行部分和异常处理部分;例:

[DECLARE declarations]

BEGIN

executable statements

[EXCEPTION handlers]

END;

5-2,PL/SQL 块中可以使用变量和常量

5-2-1,在声明部分声明,使用关必须先声明;

5-2-2,声明时必须指定数据类型,每行声明一个标识符;

5-2-3,在可执行部分的 SQL 语句和过程语句使用

5-3,声明变量和常量的语法:

identifier [CONSTANT] datatype [NOT NULL] [:=|DEFAULT expr];

5-4,给变量赋值有两种方法:1,使用赋值语句 :=  ;2,使用select into 语句;例

a := 3;表示将3赋值给变量 a; select count(*) into a from student;表示将 student 表的行记录数赋值给变量 a;

5-5,在 sqlplus 中编写示例:

set serverout on;   --表示将打印结果可以显示在 sqlplus 中

declare   --表示声明

  total_row number;  --声明一个 number 类型的变量 total_row

begin  --程序开始

  select count(*) into total_row from student;  --表示将 student 表的记录数赋值给变量 total_row

  dbms_output.put_line('一共有' || total_row || '条记录');  --利用自带的程序包打印

end;  --表示程序结束

/   --在 sqlplus 中要以正斜杆结束,然后执行

5-6,如果变量声明为 c_rate CONSTANT(表示此变量的值不可以改变) NUMBER := 10;

 

posted on 2018-12-10 15:54  独自的独行  阅读(93)  评论(0)    收藏  举报