现在的位置: 首页 > 综合 > 正文

PL/SQL学习笔记

2017年07月24日 ⁄ 综合 ⁄ 共 1246字 ⁄ 字号 评论关闭
  

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中,保留字是有特定意义的标识符。
 

抱歉!评论已关闭.