************** ºÎ¼­/Á÷¿ø ¸®Æ÷Æ® ******************

ºÎ¼­ : ºÎ¼­¹øÈ£       ºÎ¼­¸í             À§Ä¡

        10         ACCOUNTING        NEW YORK

»ç¿ø : »ç¹ø     À̸§         ±Þ¿©          ±Þ¿© µî±Þ

       7871    Anderson    2000         ***   
      7890    Andrew       700         * 
      7870    Scott       2400         **** 
      7866    David        900         * 
      7891    Sylvia      3200         *****

2¸íÀÇ ±Þ¿©°¡ ÀλóµÇ¾ú½À´Ï´Ù.


À§¿Í °°Àº ¸®Æ÷Æ®¸¦ »Ì¾Æ³»°í $1000º¸´Ù ÀûÀº ±Þ¿©¸¦ ¹Þ´Â Á÷¿øÀÇ ±Þ¿©¸¦ 10%ÀλóÇÏ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ¿© º¾´Ï´Ù.

ACCEPT p_deptno PROMPT 'Please enter the department number : '

DECLARE

   v_deptno    NUMBER(2);

   v_dname     CHAR(14);

   v_loc       CHAR(13);

   v_empno     emp.empno%TYPE;

   v_ename     emp.ename%TYPE;

   v_sal       emp.sal%TYPE;

   v_grade     salgrade.grade%TYPE;

   v_dno       emp.deptno%TYPE := &p_deptno;

   CURSOR emp_cursor IS

          SELECLT empno, ename, sal

          FROM emp

          WHERE deptno = &p_deptno;

   e_no_emp    EXCEPTION;

BEGIN

   -- print out the report title

   DBMS_OUTPUT.PUT_LINE('*********ºÎ¼­/Á÷¿ø ¸®Æ÷Æ®*********');

   SELECT  deptno, dname, loc

      INTO v_deptno, v_dname, v_loc

      FROM dept

      WHERE   deptno = v_dno;

   DBMS_OUTPUT.PUT_LINE('ºÎ¼­ :  ºÎ¼­¹øÈ£   ºÎ¼­¸í        À§Ä¡');

   DBMS_OUTPUT.PUT_LINE('     '¡«v_deptno¡«'    '¡«v_dname¡«
                        '   '¡«v_loc¡«'   ');

   DBMS_OUTPUT.PUT_LINE('»ç¿ø : »ç¹ø   À̸§   ±Þ¿©    ±Þ¿©µî±Þ');

   OPEN emp_cursor;

   FETCH emp_cursor INTO v_empno, v_ename, v_sal;

   /* according to the salary amount,

      print out the stars */

   WHILE emp_cursor%FOUND LOOP

      SELECT grade

         INTO v_grade

         FROM salgrade

         WHERE v_sal > losal AND v_sal <hisal;

      DBMS_OUTPUT.PUT('      '¡«v_empno¡«'   '¡«v_ename¡«
                      '      '¡«v_sal¡«'     ');

      FOR I in 1..v_grade LOOP

         DBMS_OUTPUT.PUT('*');

      END LOOP;

      DBMS_OUTPUT.PUT_LINE('');

      FETCH emp_cursor INTO v_empno, v_ename, v_sal;

   END LOOP;

   CLOSE emp_cursor;

   UPDATE emp

      SET     sal = sal * 1.1

      WHERE   sal < 1000;

   IF SQL%ROWCOUNT = 0 THEN

      RAISE e_no_emp;

   ELSE

      DBMS_OUTPUT.PUT_LINE(SQL%ROWCOUNT ¡«'¸íÀÇ ±Þ¿©°¡ ' ||
                           'ÀλóµÇ¾ú½À´Ï´Ù.');

   END IF;

   COMMIT;

EXCEPTION

   WHEN no_data_found THEN

      DBMS_OUTPUT.PUT_LINE('There is no matching data.');

   WHEN too_many_rows THEN

      DBMS_OUTPUT.PUT_LINE('More than one matching data. ');

   WHEN e_no_emp THEN

      DBMS_OUTPUT.PUT_LINE('No employee with a smaller ' ||
                           'than  $1000.');

   --in case of any other exception

   WHEN others THEN

      DBMS_OUTPUT.PUT_LINE('Some other error occurred.');

END;  

 

IF ¹®Àå

   PL/SQL IF ¹®Àå ±¸Á¶´Â ´Ù¸¥ ÀýÂ÷ÀûÀÎ ¾ð¾îÀÇ IF ¹®À屸Á¶¿Í À¯»çÇÕ´Ï´Ù.
   ÀÌ°ÍÀº PL/SQLÀÌ Á¶°Ç¿¡ µû¶ó ¼±ÅÃÀûÀ¸·Î ÀÛ¾÷À» ¼öÇàÇÒ ¼ö ÀÖµµ·Ï ÇØ ÁÝ´Ï´Ù.
   ±¸¹®¿¡¼­
    
        condition              ºÎ¿ï º¯¼ö ¶Ç´Â Ç¥Çö½ÄÀÔ´Ï´Ù (TRUE, FALSE,¶Ç´Â NULL).
                                    ÀÌ°ÍÀº IF Ç¥Çö½ÄÀÌ TRUE¸¦ »ý¼ºÇÒ ¶§¸¸ ÀÏ·ÃÀÇ ¹®ÀåµéÀ»
                                    ½ÇÇàÇϵµ·Ï ÇÕ´Ï´Ù.                                              
    
        THEN                    ´ÙÀ½¿¡ ³ª¿À´Â ¹®Àåµé°ú ±×°Í¿¡ ¼±ÇàµÇ´Â ºÎ¿ï Ç¥Çö½ÄÀ»  
                                    °ü·Ã½ÃÅ°´Â ÀýÀÔ´Ï´Ù.                                            
    
        statements           Çϳª ÀÌ»óÀÇ PL/SQL ¶Ç´Â SQL¹®ÀåÀÌ µÉ ¼ö ÀÖ½À´Ï´Ù.
                                    ±×°ÍµéÀº ¸î °³ÀÇ Áßø IF, ELSE¿Í ELSIF¸¦ Æ÷ÇÔÇÏ´Â IF¹®ÀåÀ»
                                    Æ÷ÇÔÇÒ ¼ö ÀÖ½À´Ï´Ù.
    
        ELSIF                    ºÎ¿ï½ÄÀÌ ´Ù½Ã ³ª¿À°Ô ÇÏ´Â Å°¿öµåÀÔ´Ï´Ù. óÀ½ÀÇ Á¶°ÇÀÌ FALSE                                     ¶Ç´ÂNULLÀ» »ý¼ºÇÏ°í  À̶§ ELSIF Å°¿öµå´Â Ãß°¡ÀûÀÎ Á¶°ÇÀ»                                     ÀÛ¼ºÇϵµ·Ï ÇÕ´Ï´Ù.     
    
        ELSE                    À§ÀÇ Á¶°ÇµéÀ» ´Ù ¸¸Á·½ÃÅ°Áö ¸øÇÏ¿´À» ¶§ ´ÙÀ½ÀÇ ¹®ÀåµéÀÌ
                                    ¼öÇàµË´Ï´Ù.

 

¿¹

   Á¾¾÷¿ø À̸§ÀÌ KingÀ̶ó¸é °ü¸®ÀÚ·Î ÀÛ¾÷À» ¼³Á¤ÇÕ´Ï´Ù. Á¾¾÷¿ø À̸§ÀÌ KingÀÌ ¾Æ´Ï¸é    ClerkÀ¸·Î ¼³Á¤ÇÕ´Ï´Ù.
 

IF v_ename = 'KING' THEN
  v_job := 'MANAGER';
ELSE
  v_job := 'CLERK';
END IF;

IF-THEN-ELSIF ¹®Àå

   °¡´ÉÇϸé, Áßø IF ¹®Àå ´ë½Å¿¡  ELSIF  ÀýÀ» »ç¿ëÇÕ´Ï´Ù. Äڵ带 ÀÐ°í  ÀÌÇØ ÇϱⰡ ´õ    ½¬¿ì ¸ç ·ÎÁ÷Àº Á¤È®ÇÏ°Ô ½Äº°µË´Ï´Ù. ELSE Àý ¾ÈÀÇ ÀÛ¾÷ÀÌ ¼ø¼öÇÏ°Ô ´Ù¸¥ IF ¹®ÀåÀ¸·Î    ±¸¼ºµÈ´Ù¸é, ÀÌ°ÍÀº ELSIF ÀýÀ» »ç¿ëÇÏ´Â °ÍÀÌ ´õ¿í Æí¸®ÇÕ´Ï´Ù.  Á¶°Ç°ú ¼öÇàÀÌ °¢°¢    Á¾·á½Ã¿¡ Áßø END  IF¿¡ ´ëÇØ ÀÏÀÏÀÌ ¿ä±¸ÇÏÁö ¾ÊÀ½À¸·Î½á Äڵ带 ´õ ¸íÈ®ÇÏ°Ô ¸¸µé¾î    ÁÝ´Ï´Ù.

¿¹
 

IF condition1 THEN
  statement1;
ELSIF condition2 THEN
  statement2;
ELSIF condition3 THEN
  statement3;
END IF;

   À§ÀÇ IF-THEN-ELSIF ¹®Àå ¿¹´Â ´ÙÀ½°ú °°ÀÌ ´õ ÀÚ¼¼È÷ Á¤Àǵ˴ϴÙ:
ÀÔ·ÂµÈ ÁÖ¾îÁø °ª¿¡ ´ëÇØ, °è»ê °ªÀ» ¸®ÅÏÇÕ´Ï´Ù. ÀÔ·Â °ªÀÌ 100ÀÌ»óÀ̸é, À̶§ °è»ê °ªÀº ÀÔ·Â °ªÀÇ µÎ ¹è°¡ µË´Ï´Ù.   ÀÔ·Â °ªÀÌ 50°ú 100»çÀ̶ó¸é, °è»ê °ªÀº ½ÃÀÛ°ªÀÇ 50%°¡ µÇ°í, ÀԷ°ªÀÌ 50 ¹Ì¸¸ÀÌ¸é °è»ê°ªÀº ½ÃÀÛ°ªÀÇ 10%°¡ µË´Ï´Ù.

ÁÖ: null °ªÀ» Æ÷ÇÔÇÏ´Â ÀÓÀÇÀÇ ¼ö Ç¥Çö½ÄÀº null·Î Æò°¡ÇÕ´Ï´Ù.

 

ºñ±³ ¿¬»êÀÚ¿Í ºÎ¿ï Á¶°Ç

   ³í¸® ¿¬»êÀÚ AND, OR,  NOTÀ» °¡Áö°í ´Ü¼øÇÑ ºÎ¿ï Á¶°ÇÀ» Á¶ÇÕÇÔÀ¸·Î½á º¹ÀâÇÑ ºÎ¿ï    Á¶°ÇÀ» ±¸ÃàÇÒ ¼ö ÀÖ½À´Ï´Ù.   ½½¶óÀ̵忡 º¸¿©Áø ³í¸® Å×ÀÌºí¿¡¼­,  FALSE  ´Â  AND    Á¶°Ç¿¡ ´ëÇØ ¿ì¼±¼øÀ§¸¦ °®°í TRUE´Â OR Á¶°Ç¿¡  ´ëÇØ ¿ì¼±¼øÀ§¸¦ °®½À´Ï´Ù. AND ´Â    ¾çÂÊ ¿¬»êÀÚ°¡ TRUEÀÏ °æ¿ì¿¡¸¸ TRUE¸¦ ¹ÝȯÇÕ´Ï´Ù. OR Àº ¾çÂÊ ¿¬»êÀÚ°¡ FALSEÀÏ    °æ¿ì¸¸ FALSE¸¦ ¹ÝȯÇÕ´Ï´Ù.NULL AND TRUE´Â ù ¹ø° ¿¬»êÀÚ°¡ TRUE·Î Æò°¡µÇ´ÂÁö    ¾Æ´ÑÁö ¾Ë·ÁÁöÁö ¾Ê¾Ò±â ¶§¹®¿¡ Ç×»ó NULL·Î Æò°¡µË´Ï´Ù.

   ÁÖ:  NULLÀÇ ºÎÁ¤(NOT NULL)Àº null °ªµéÀÌ ¸ðÈ£Çϱ⠶§¹®¿¡ null °ªÀÌ µË´Ï´Ù.

 

³í¸® Á¶°Ç ±¸Ãà

   AND ·ÎÁ÷ Å×À̺íÀº À§ÀÇ ½½¶óÀ̵忡¼­ ºÎ¿ï Á¶°Ç¿¡ ´ëÇÑ °¡´É¼ºÀ» Æò°¡Çϴµ¥ µµ¿òÀ»    ÁÙ ¼ö ÀÖ½À´Ï´Ù.

¹Ýº¹ÀûÀÎ Á¦¾î : LOOP ¹®Àå

   PL/SQL  Àº ¹®Àå ¶Ç´Â ÀÏ·ÃÀÇ ¹®ÀåµéÀ» ¹Ýº¹Çϱâ À§ÇØ ·çÇÁ¸¦ ±¸Á¶È­Çϱâ À§ÇÑ ¸¹Àº    ÆíÀǸ¦ Á¦°øÇÕ´Ï´Ù.
   ·çÇÁ¹®Àº  Á¦¾î ±¸Á¶ÀÇ µÎ ¹ø° À¯ÇüÀÔ´Ï´Ù.

     ÀÚ¼¼ÇÑ ³»¿ëÀº

     PL/SQL User's Guide and Reference, Release 7.3 ¶Ç´Â 8.0, ¡°Control     Structures¡±¸¦ ÂüÁ¶ÇϽʽÿÀ.

   ÁÖ : FOR LOOPÀÇ ´Ù¸¥ ŸÀÔ, Ä¿¼­ FOR LOOP ´Â ÈÄ¼Ó Àå¿¡¼­ ³íÇÕ´Ï´Ù.

 

±âº» ·çÇÁ

    LOOP ¿Í  END LOOP  Å°¿öµå »çÀÌ¿¡ ÀÏ·ÃÀÇ ¹®ÀåµéÀ» Æ÷ÇÔÇÏ´Â  LOOP  ¹®ÀåÀÇ °¡Àå    ´Ü¼øÇÑ ÇüÅ´ ±âº»(¶Ç´Â basic) ·çÇÁÀÔ´Ï´Ù. ½ÇÇà È帧ÀÇ END LOOP ¹®Àå¿¡ µµ´ÞÇÒ ¶§    ¸¶´Ù,  Á¦¾î´Â ÇØ´ç  LOOP  ¹®ÀåÀ¸·Î µÇµ¹·Á ÁÝ´Ï´Ù.  ±âº» ·çÇÁ´Â ·çÇÁ¿¡ µé¾î°¥ ¶§    Á¶°ÇÀÌ ÀÌ¹Ì  ÀÏÄ¡Çß´Ù ÇÒÁö¶óµµ Àû¾îµµ ÇѹøÀº ¹®ÀåÀÌ ½ÇÇàµË´Ï´Ù.

EXIT ¹®Àå

   EXIT ¹®ÀåÀ» »ç¿ëÇÏ¿© ·çÇÁ¸¦ Á¾·áÇÒ ¼ö ÀÖ½À´Ï´Ù. Á¦¾î´Â END LOOP ¹®Àå ÈÄÀÇ ´ÙÀ½    ¹®ÀåÀ¸·Î Àü´ÞµË´Ï´Ù.   IF ¹®Àå ³»¿¡¼­ÀÇ ¹®ÀåÀ¸·Î¼­ ¶Ç´Â ,·çÇÁ ³»¿¡ ÀÖ´Â µ¶¸³ÀûÀÎ    ¹®ÀåÀ¸·Î ¼­  EXIT¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. EXIT ¹®ÀåÀº ·çÇÁ ³»ºÎ¿¡ À§Ä¡ÇØ¾ß ÇÕ´Ï´Ù.    ÈÄÀÚÀÎ °æ¿ì¿¡ ,  ·çÇÁÀÇ Á¶°ÇÀûÀÎ  Á¾·á¸¦  Çã¿ëÇÏ±â  À§ÇØ   WHEN  ÀýÀ»  Ã·ºÎÇÒ  ¼ö    ÀÖ½À´Ï´Ù.  EXIT ¹®Àå¿¡ Á÷¸éÇÒ ¶§´Â, WHEN Àý¿¡¼­ Á¶°ÇÀÌ Æò°¡µË´Ï´Ù. Á¶°ÇÀÌ    TRUE ¸¦ ¸®ÅÏÇϸé, ·çÇÁ´Â  ³¡³ª°í ·çÇÁ ÈÄÀÇ ´ÙÀ½ ¹®ÀåÀ¸·Î Á¦¾î¸¦ Àü´ÞÇÕ´Ï´Ù. ±âº»    ·çÇÁ´Â º¹¼ö EXIT ¹®ÀåÀ» Æ÷ÇÔÇÒ ¼ö ÀÖ½À´Ï´Ù.

±âº» ·çÇÁ

   ½½¶óÀ̵忡¼­ º¸¿© ÁØ ±âº» ·çÇÁ ¿¹´Â ´ÙÀ½°ú °°ÀÌ Á¤Àǵ˴ϴÙ.

   ÁÖ: ±âº» ·çÇÁ´Â Á¶°ÇÀÌ ·çÇÁ ¾È¿¡ µé¾î°¥ ¶§ ¸¸Á·µÇ¾ú´Ù ÇÒÁö¶óµµ Àû¾îµµ ÇѹøÀº ±×         ¹®ÀåÀ» ½ÇÇàÇÕ´Ï´Ù.

 

FOR ·çÇÁ´Â ±âº» ·çÇÁ¿Í µ¿ÀÏÇÑ ÀÏ¹Ý ±¸Á¶¸¦ °¡Áý´Ï´Ù. ±×¸®°í, PL/SQLÀÌ ¼öÇàÇÒ ¹Ýº¹µÇ´Â ¼ö¸¦ Á¤Çϱâ À§ÇØ LOOP Å°¿öµåÀÇ ¾Õ¿¡ Á¦¾î ¹®ÀåÀ» »ç¿ëÇÕ´Ï´Ù.

±¸¹®¿¡¼­,

        counter             »ó´ÜÀ̳ª ÇÏ´Ü ¹Ù¿îµå¿¡ µµ´ÞÇÒ ¶§±îÁö ·çÇÁ¸¦ °è¼Ó ¹Ýº¹ÇÔÀ¸·Î½á                                  1¾¿ ÀÚµ¿ÀûÀ¸·Î Áõ°¡µÇ°Å³ª °¨¼ÒµÇ´Â(°¨¼Ò´Â REVERSE Å°¿öµå°¡  
                                 »ç¿ëµÈ´Ù¸é)°ªÀ» °¡Áø ¾Ï½ÃÀûÀ¸·Î ¼±¾ðµÈ Á¤¼öÀÔ´Ï´Ù.
        
         REVERSE         »ó´Ü ¹Ù¿îµå¿¡¼­ ÇÏ´Ü ¹Ù¿îµå±îÁö ¹Ýº¹ÇÔÀ¸·Î½á À妽º°¡ °¨¼ÒµÇ
                                 µµ·Ï ÇÕ´Ï´Ù. ÇÏÀ§ °ª(ÇÏ´Ü ¹Ù¿îµå)´Â ¿©ÀüÈ÷ óÀ½¿¡ ÂüÁ¶µÊÀ» ÁÖÀÇ
                                 ÇϽʽÿÀ.

        lower_bound     À妽º °ªÀÇ ¹üÀ§¿¡ ´ëÇÑ ÇÏ´Ü ¹Ù¿îµå¸¦ ÁöÁ¤ÇÕ´Ï´Ù.

        upper_bound    À妽º °ªÀÇ ¹üÀ§¿¡ ´ëÇÑ  »ó´Ü ¹Ù¿îµå¸¦ ÁöÁ¤ÇÕ´Ï´Ù.

Ä«¿îÅ͸¦ ¼±¾ðÇÏÁö ¸¶½Ê½Ã¿À. ÀÌ°ÍÀº Á¤¼ö·Î ¾Ï½ÃÀûÀ¸·Î ¼±¾ðµË´Ï´Ù.

ÁÖ: ÀÏ·ÃÀÇ ¹®ÀåµéÀº µÎ ¹Ù¿îµå¿¡ ÀÇÇØ Ä«¿îÅÍ°¡ °áÁ¤µÇ°í Áõ°¡µÉ ¶§¸¶´Ù ½ÇÇàµË´Ï´Ù. ·çÇÁ ¹üÀ§ÀÇ ÇÏ´Ü ¹Ù¿îµå¿Í »ó´Ü ¹Ù¿îµå´Â ¸®ÅÍ·², º¯¼ö, Ç¥Çö½ÄÀÌ µÉ ¼ö ÀÖÁö¸¸ Á¤¼ö·Î Æò°¡ÇØ¾ß ÇÕ´Ï´Ù. ·çÇÁ ¹üÀ§ ÇÏ´Ü ¹Ù¿îµå°¡ »ó´Ü ¹Ù¿îµåº¸´Ù ´õ Å« Á¤¼ö¸¦ Æò°¡ÇÑ´Ù¸é, ÀÏ·ÃÀÇ ¹®ÀåµéÀº ½ÇÇàµÇÁö ¾Ê½À´Ï´Ù. ¿¹¸¦ µé¸é, ´ÙÀ½¿¡¼­ ¹®ÀåÀº Çѹø¸¸ ½ÇÇàµË´Ï´Ù.
 

FOR i IN 3..3 LOOP statement1; END LOOP;

FOR ·çÇÁ

ÁÖ: LOOP ¹®ÀåÀÇ ÇÏ´Ü°ú »ó´Ü ¹Ù¿îµå´Â ²À ¼ýÀÚ ¸®ÅÍ·²ÀÌ µÉ ÇÊ¿ä°¡ ¾ø½À´Ï´Ù. ±×°ÍµéÀº ¼ýÀÚ°ªÀ¸·Î º¯È¯µÇ´Â Ç¥Çö½ÄÀÌ µÉ ¼öµµ ÀÖ½À´Ï´Ù.

¿¹ 

DECLARE
  v_lower   NUMBER := 1;
  v_upper   NUMBER := 100;
BEGIN
  FOR i IN v_lower..v_upper LOOP
  . . .
  END LOOP;
END;

WHILE ·çÇÁ

   Á¦¾î  Á¶°ÇÀÌ ´õ ÀÌ»ó  TRUE °¡ ¾Æ´Ò ¶§±îÁö  ÀÏ·ÃÀÇ ¹®ÀåµéÀ» ¹Ýº¹Çϱâ À§ÇØ  WHILE   ·çÇÁ¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. Á¶°ÇÀº ¹Ýº¹ÀÌ ½ÃÀÛµÉ ¶§¿¡ Æò°¡µË´Ï´Ù. ·çÇÁ´Â Á¶°ÇÀÌ    FALSEÀÏ ¶§ Á¾·áµË´Ï´Ù. ·çÇÁ¸¦ ½ÃÀÛÇÒ ¶§ Á¶°ÇÀÌ FALSE¶ó¸é , À̶§´Â ´õ ÀÌ»ó ¹Ýº¹À»    ¼öÇàÇÏÁö ¾Ê½À´Ï´Ù
 
   ±¸¹®¿¡¼­,

       condition         ºÎ¿ï º¯¼ö ¶Ç´Â Ç¥Çö½ÄÀÔ´Ï´Ù (TRUE, FALSE, ¶Ç´Â NULL).

       statement         Çϳª ¶Ç´Â ±× ÀÌ»óÀÇ PL/SQL ¶Ç´Â  SQL ¹®ÀåÀÌ µÉ ¼ö ÀÖ½À´Ï´Ù.

Á¶°Ç ¾È¿¡ Æ÷ÇÔµÈ º¯¼ö°¡ ·çÇÁÀÇ ¾È¿¡¼­ º¯°æµÉ ¼ö ¾ø´Ù¸é À̶§ Á¶°ÇÀº TRUE ¸¦ °è¼Ó À¯ÁöÇÏ°í ·çÇÁ´Â Á¾°áµÇÁö ¾Ê½À´Ï´Ù.

ÁÖ: Á¶°ÇÀÌ  NULLÀ» ¸®ÅÏÇϸé, ·çÇÁ´Â ½ÇÇàµÇÁö ¾Ê°í ´ÙÀ½ ¹®ÀåÀ¸·Î Á¦¾î¸¦ Àü´ÞÇÕ´Ï´Ù.

 

WHILE ·çÇÁ

½½¶óÀÌµå ¿¹¿¡¼­ ¾ç(quantity)ÀÌ Ç׸ñ¿¡¼­ ¼Òºñ·Î Çã¿ëµÈ ÃÖ´ë °¡°Ýº¸´Ù ´õ ÀÌ»ó ÀûÁö ¾ÊÀ» ¶§±îÁö ¾ç(quantity)Àº ·çÇÁ°¡ °è¼Ó ¹Ýº¹µÇ¸é¼­ Áõ°¡ÇÕ´Ï´Ù.

 

Áßø ·çÇÁ¿Í ·¹À̺í

¿©·¯ ´Ü°è·Î ·çÇÁ¸¦ ÁßøÇÒ ¼ö ÀÖ½À´Ï´Ù. WHILE ·çÇÁ ³»¿¡¼­ FOR ·çÇÁ¸¦, FOR ·çÇÁ ³»¿¡¼­ WHILE ·çÇÁ¸¦ ÁßøÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ë°³ Áßø ·çÇÁ°¡ Á¾°áµÇ¸é ¿¹¿Ü°¡ ¹ß»ýÇÏÁö ¾Ê´Â ÇÑ µÑ·¯½Î´Â ·çÇÁ°¡ Á¾°áµÇÁö ¾Ê½À´Ï´Ù. ·¹ÀÌºí ¸íÀº ´Ù¸¥ ½Äº°ÀÚµé°ú µ¿ÀÏÇÑ ±ÔÄ¢À» µû¸¨´Ï´Ù. ·¹À̺íÀº °°Àº ¶óÀÎ ¶Ç´Â ´ÙÀ½ ¶óÀο¡¼­ ¹®Àå ¾Õ¿¡ À§Ä¡µË´Ï´Ù. ·¹ÀÌºí ±¸ºÐ ¹®ÀÚ(<<label>>) ¾È¿¡ LOOP¶ó´Â ±ÛÀÚ ¾Õ¿¡ ·¹À̺íÀ» À§Ä¡½ÃÅ´À¸·Î¼­ ·çÇÁ¸¦ ·¹À̺í½Ãŵ´Ï´Ù. ·çÇÁ°¡ ·¹À̺íÀÌ µÇ¸é END LOOP ¹®Àå ÈÄ¿¡ ·çÇÁ À̸§À» ¼±ÅÃÀûÀ¸·Î ¾µ ¼ö ÀÖ½À´Ï´Ù.

 

X Á¤´ä:A


X Á¤´ä:A