分页:
上一页 1 [2] 3 4 5 6 7 下一页
无名块的定义形式为:
DECLARE
--说明
BEGIN
--语句序列
[EXCEPTION
--例外处理程序]
END;
一个PL/SQL块由三部分组成:说明部分,可执行部分和例外处理部分。
在说明部分中允许说明变量和常量等PL/SQL对象,这些对象在块中引用,或在嵌套的子块中引用。说明部分是可选的。在执行部分可使用SQL的DML语句,事务控制语句,还可使用控制结构如条件控制、迭代控制和顺序控制,这是PL/SQL对SQL的最重要的扩展。在PL/SQL程序中可以方便地发现和处理预定义的或用户定义的称为例外的出错条件(警告或出错条件),当发生错误时,引起(raise)一个例外,正常的执行被停止,控制转移到例外处理程序。例外处理程序也是可选的。
例2.47: PL/SQL无名块结构的例子
DECLARE
qty_on_hand NUMBER(5);
BEGIN
SELECT quantity INTO qty_on_hand FROM inventory
WHERE product=’TENNIS RACKET’;
IF qty_on_hand>0 THEN
UPDATE inventory SET quantity=quantity-l
WHERE product=’TENNIS RACKET’;
INSERT INTO purchase_record
VALUES (‘out of Tennis Rackets’,SYSDATE);
ENDIF;
COMMIT;
EXCEPTION
WHEN no_data_found THEN
INSERT TNTO error_table
VALUES (‘Product TENNIS RACKET not found’)
END;
注意关键词DECLARE、BEGIN和EXCEPTION后面不用分号跟随,但是END和全部其它PL/SQL语句要求分号。
上面的例子说明了一个PL/SQL变量’qtyon_hand’,然后使用了一个SELECT语句。如果此变量的值为正,则修改’inventory’表。如果SELECT寻找失败,则引起叫’no-data found’的例外,控制立即转移到EXCEPTION部分,将所出问题记录到一个表中。
2. 子程序(Subprogram)
SQL* Forms允许将过程和函数说明为Form的一部分,并且可从Forms的其它作用点调用。
分页:
上一页 1 [2] 3 4 5 6 7 下一页