首页 > PL/SQL挑战 > CONTINUE-WHEN语句(挑战题编号000003)

CONTINUE-WHEN语句(挑战题编号000003)

2015年4月8日 发表评论 阅读评论

 先预先执行以下代码:

CREATE TABLE plch_plants

(

   species_name   VARCHAR2 (100),

   common_name    VARCHAR2 (100)

)

/


BEGIN

   INSERT INTO plch_plants

        VALUES ('Alianthus', 'Tree of Heaven');


   INSERT INTO plch_plants

        VALUES ('Arborvitae', 'Northern White Cedar');


   INSERT INTO plch_plants

        VALUES ('Oleaster', 'Russian Olive');


   COMMIT;

END;

/

问题:运行以下哪几个选项后,屏幕会显示六次” Arborvitae”,其它名字不显示:

选项1

BEGIN

  <<months>>

   FOR indx IN 1 .. 6

   LOOP

     <<plants>>

      FOR rec IN (  SELECT *

                      FROM plch_plants

                  ORDER BY common_name)

      LOOP

         DBMS_OUTPUT.put_line (rec.species_name);

         CONTINUE months WHEN    indx > 2

                              OR INSTR (rec.common_name, 'e') > 0;

      END LOOP;

   END LOOP;

END;

/

选项2

BEGIN

  <<months>>

   FOR indx IN 1 .. 6

   LOOP

     <<plants>>

      FOR rec IN (  SELECT *

                      FROM plch_plants

                  ORDER BY common_name)

      LOOP

         CONTINUE plants WHEN INSTR (rec.common_name, 'e') > 0;

         DBMS_OUTPUT.put_line (rec.species_name); 

      END LOOP; 

      CONTINUE months WHEN indx > 2; 

   END LOOP; 

END;

/

选项3

BEGIN

  <<months>>

   FOR indx IN 1 .. 6

   LOOP

     <<plants>>

      FOR rec IN (  SELECT *

                      FROM plch_plants

                  ORDER BY common_name)

      LOOP

         DBMS_OUTPUT.put_line (rec.species_name);

         EXIT WHEN INSTR (rec.common_name, 'e') > 0;

      END LOOP;


      CONTINUE months WHEN indx > 2;

   END LOOP;

END;

/

选项4

BEGIN

  <<months>>

   FOR indx IN 1 .. 6

   LOOP

     <<plants>>

      FOR rec IN (  SELECT *

                      FROM plch_plants

                  ORDER BY common_name)

      LOOP

         DBMS_OUTPUT.put_line (rec.species_name);

         CONTINUE months WHEN INSTR (rec.common_name, 'e') > 0;

      END LOOP;

   END LOOP;

END;

/

 

答案:http://www.anguora.com/plsql挑战答案/

 

分类: PL/SQL挑战 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.