-oracle数据库恢复-Raid5数据恢复-RAID0数据恢复oracle 开发区 → pl/sql 编程入门经典教程之二常用语法篇


  共有3086人关注过本帖树形打印

主题:pl/sql 编程入门经典教程之二常用语法篇

oracle数据恢复-RAID5数据恢复-raid数据恢复
sosdb
  1楼 个性首页 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


数据恢复 恢复数据
等级:超级版主 帖子:809 积分:10386 威望:0 精华:1 注册:2007-1-28 11:50:49
pl/sql 编程入门经典教程之二常用语法篇  发帖心情 Post By:2007-7-24 12:08:29

1.  简单循环

LOOP

      要执行的语句;

      EXIT WHEN <条件语句>       /*条件满足,退出循环语句*/

END LOOP;

 

例 3.

DECLARE

    int NUMBER(2) :=0;

BEGIN

   LOOP

      int := int + 1;

      DBMS_OUTPUT.PUT_LINE('int 的当前值为:'||int);

      EXIT WHEN int =10;

   END LOOP;

END;

 

2.  WHILE 循环

 

WHILE <布尔表达式> LOOP

    要执行的语句;

END LOOP;

 

例4.

DECLARE

x NUMBER;

BEGIN

   x:= 1;

   WHILE x<10 LOOP

      DBMS_OUTPUT.PUT_LINE('X的当前值为:'||x);

     x:= x+1;

   END LOOP;

END;

 

3.  数字式循环

FOR 循环计数器 IN [ REVERSE ] 下限 .. 上限 LOOP

  要执行的语句;

END LOOP;

每循环一次,循环变量自动加1;使用关键字REVERSE,循环变量自动减1。跟在IN REVERSE 后面的数字必须是从小到大的顺序,而且必须是整数,不能是变量或表达式。可以使用EXIT 退出循环。

 

例5.

BEGIN

   FOR int  in 1..10 LOOP

       DBMS_OUTPUT.PUT_LINE('int 的当前值为: '||int);

   END LOOP;

END;

 

例 6.

CREATE TABLE temp_table(num_col NUMBER);

 

DECLARE

V_counter NUMBER := 10;

BEGIN

   INSERT INTO temp_table(num_col) VALUES (v_counter );

   FOR v_counter IN 20 .. 25 LOOP

      INSERT INTO temp_table (num_col ) VALUES ( v_counter );

   END LOOP;

   INSERT INTO temp_table(num_col) VALUES (v_counter );

   FOR v_counter IN REVERSE 20 .. 25 LOOP

      INSERT INTO temp_table (num_col ) VALUES ( v_counter );

   END LOOP;

END ;

 

DROP TABLE temp_table;
§3.3  标号和GOTO

PL/SQL中GOTO语句是无条件跳转到指定的标号去的意思。语法如下:

 

GOTO   label;

 . . .  . . .

<<label>> /*标号是用<< >>括起来的标识符 */

 

例7:

DECLARE

   V_counter NUMBER := 1;

BEGIN

   LOOP

     DBMS_OUTPUT.PUT_LINE('V_counter的当前值为:'||V_counter);

 V_counter := v_counter + 1;

 IF v_counter > 10 THEN

     GOTO l_ENDofLOOP;

 END IF;

   END LOOP;

 <<l_ENDofLOOP>>

     DBMS_OUTPUT.PUT_LINE('V_counter的当前值为:'||V_counter);

END ;
§3.4  NULL 语句

在PL/SQL 程序中,可以用 null 语句来说明“不用做任何事情”的意思,相当于一个占位符,可以使某些语句变得有意义,提高程序的可读性。如:

DECLARE

. . .

BEGIN



IF v_num IS NULL THEN

GOTO print1;

END IF;



<<print1>>

NULL;  -- 不需要处理任何数据。

END;



www.sosdb.com 专业数据库恢复

oracle数据恢复raid数据恢复

qq:9417901

msn:glkgdj@hotmail.com

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部

返回版面帖子列表

pl/sql 编程入门经典教程之二常用语法篇








签名