PL/SQL学习笔记

  
Pl/sql 的第一个例子:
DECLARE
 /*定义SQL语句中的使用的变量*/
        V_Sex NUMBER;
        V_AuthorCode CHAR(6);
        V_Arcount NUMBER;
BEGIN
   /*查询表中数据*/
        SELECT author_code,sex
         INTO V_AuthorCode, V_Sex
           FROM auths
            WHERE name =”王林达”;
IF v_Sex = 0 THEN
SELECT count(article_code)
       Into v_Arcount
         FROM article
           WHERE author_code = “A00001”
END_IF;
END;
块是PL/SQL程序中的基本执行单元,所有的PL/SQL程序都是由块组成的,每个块完成程序中的部分工作,这样就可以将程序分成多个块。
一个标准的块结构如下:
DECLARE
块的定义部分,这里可以定义PL/SQL变量、自定义类型、游标和局部子程序,这个部分是程序的可选部分。
BEGIN
块的执行部分,这里放置一些可执行的SQL或PL/SQL语句,这是块中最重要的部分,并且也是块中必须有的部分。这里不许至少包含一条可执行语句。
EXCEPTION
异常处理部分,这里放置对错误进行处理的语句,这部分是块中可选部分。
END
游标
游标用来查询数据库中的数据,并对查询的结果进行处理。游标分为显式游标和隐式游标。通过游标,可以对查询结果中的数据一条一条进行处理。
块的分类
1,        无名块: 动态构造并只能执行一次
2,        命名块:前面加了标号的无名块
3,        子程序:包括存储在数据库中的存储过程、函数和包等。便可以随时调用。
4,        触发器:它是存储在数据库中的块,这些块一旦被构造后,就可以多次执行。当触发它的事件发生时调用该触发器。触发事件是指对表中数据的操作,如插入、删除和修改。
触发器的一个简单的例子:
CREATE OR REPLACE TRIGGER salary_trigger
-- 当向 auths 表中插入一行或者修改一行后激活触发器
BEFORE INSERT OR UPDATE of salary ON auths
FOR EACH ROW
BEGIN
如果插入值或修改值大于 10000 时,报告应插入的工资值,
-- 并产生异常,退出该触发器
IF : new.salary>10000 THEN
RAISE_APPLICATION_ERROR(-200060.’ 插入的工资应小于 10000 ’);
END IF;
END salary_trigger;
上面的触发器被创建在 auths 表上,该触发器确保只有小于 10000 的值才能插入到 salary 列中。当向表中插入或修改一条记录时,触发该触发器。
PL/SQL 程序中的变量名必须是合法的标识符,但不可以是保留字。在 PL/SQL 中,保留字是有特定意义的标识符。
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值