PL/SQL程序语言的学习---PL/SQL块

来源:互联网 发布:web数据库设计 变化 编辑:程序博客网 时间:2024/05/17 08:37
PL/SQL程序分三部分组成,声明部分,执行部分,异常处理部分。
通常大致的结构如下:

DECLARE

BEGIN

EXCEPTION

END

声明部分:声明PL/SQL用到的变量,类型及游标,以及局部的存储过程和函数。
执行部分:过程以及SQL,程序的主要部分。
异常处理部分:对错误的处理。

PL/SQL的标示符规则:
1、标示符不能超过30个字符
2、第一个字符必须为字母
3、不分大小写
4、不能用中间短横线
5、不能是SQL的保留字

PL/SQL变量的命名很讲究,一般是变量的首字母大写,后面的单词我们采用下划线连接。例如:V_name ;  Name_record ; Emp_record_type

而这里我学习的是PL/SQL块,对于PL/SQL可以分为三类:
①无名快:动态构造,只能执行一次。
②子程序:存储在数据库中的存储过程、函数以及包,当在数据库上建立好后可以在其他程序中调用他们。
③触发器: 当数据库发生操作时,会触发一些事件,从而自动执行相应的程序。


牛刀小试:我们来个demo
DECLARE 
     Username varchar2(20) := “James”;
BEGIN 
DELETE FROM usertabel WHERE name = Username;
COMMIT;
END



PL/SQL中可以使用的变量类型:char,varchar2,binary_integer,number,long,date,boolean,rowid,urowid
除了以上的基本类型外,我们还提供符合类型:记录和表

定义记录类型的demo如下:


 TYPE record_type IS RECORD(
Field1 type1 [NOT NULL] [:=exp1],
Field2 type2 [NOT NULL] [:=exp2],
Field3 type3 [NOT NULL] [:=exp3]
);


PS:补充说明 dbms_output.put_line()  过程的功能类似于java中的System.out.println(),可以调试常用。我们在定义变量的时候,其数据类型与已经定义的某个数据变量的类型相同或者与数据库表的某个列的数据类型相同,可以使用%TYPE。定义记录类型的时候用%ROWTYPE,返回一个记录类型,其数据类型和数据库表的数据结构相一致。

最后给一个完整的demo:






0 0