procedure Á¤ÀÇ ¹× ¿¹Á¦
ÀÛ¼ºÀÚ °ü¸®ÀÚ ÀÛ¼º½Ã°£ 2016-02-18 09:38:43
 

Ãâó: target=_blank>http://www.gurubee.net/lecture/1041


1. ÇÁ·Î½ÃÀú(Procedure)¶õ?

  ƯÁ¤ ÀÛ¾÷À» ¼öÇà ÇÏ´Â, À̸§ÀÌ ÀÖ´Â PL/SQL BLOCK ÀÌ´Ù.
  ¸Å°³ º¯¼ö¸¦ ¹ÞÀ» ¼ö ÀÖ°í, ¹Ýº¹ÀûÀ¸·Î »ç¿ë ÇÒ ¼ö ÀÖ´Â BLOCK ÀÌ´Ù.
  º¸Åë ¿¬¼Ó ½ÇÇà ¶Ç´Â ±¸ÇöÀÌ º¹ÀâÇÑ Æ®·£Àè¼ÇÀ» ¼öÇàÇÏ´Â PL/SQL BLOCKÀ» µ¥ÀÌÅͺ£À̽º¿¡ ÀúÀåÇϱâ À§ÇØ »ý¼º ÇÑ´Ù.

2. ÇÁ·Î½ÃÀú ¹®¹ý

CREATE OR REPLACE procedure name
  IN argument
  OUT argument
  IN OUT argument

IS
  [º¯¼öÀÇ ¼±¾ð]

BEGIN  --> Çʼö

  [PL/SQL Block]
  -- SQL¹®Àå, PL/SQLÁ¦¾î ¹®Àå

  [EXCEPTION]  --> ¼±ÅÃ
  -- error°¡ ¹ß»ýÇÒ ¶§ ¼öÇàÇÏ´Â ¹®Àå

END;  --> Çʼö
   
- CREATE OR REPLACE ±¸¹®À» »ç¿ëÇÏ¿© »ý¼º ÇÑ´Ù.
- IS ·Î PL/SQLÀÇ ºí·ÏÀ» ½ÃÀÛ ÇÑ´Ù.
- LOCAL º¯¼ö´Â IS ¿Í BEGIN »çÀÌ¿¡ ¼±¾ð ÇÑ´Ù.

3. ÇÁ·Î½ÃÀú ÀÛ¼º ¿¹Á¦
-- ÇÁ·Î½ÃÀúÀÇ À̸§Àº update_salÀÌ´Ù
-- update_sal ÇÁ·Î½ÃÀú´Â »ç¹øÀ» ÀÔ·Â¹Þ¾Æ ±Þ¿©¸¦ Àλó ÇÑ´Ù.
-- ÇÁ·Î½ÃÀú¸¦ ³¡¸¶Ä¥ ¶§¿¡´Â Ç×»ó "/"¸¦ ÁöÁ¤ ÇÑ´Ù.
SQL> CREATE OR REPLACE PROCEDURE update_sal
    /* IN  Parameter */
    (v_empno    IN    NUMBER)
       
    IS

    BEGIN

      UPDATE emp
      SET sal = sal  * 1.1
      WHERE empno = v_empno;

      COMMIT;

    END update_sal;
    /   
   
4. ÇÁ·Î½ÃÀú ½ÇÇà ¿¹Á¦

EXECUTE ¹®À» ÀÌ¿ëÇØ ÇÁ·Î½ÃÀú¸¦ ½ÇÇà ÇÑ´Ù.


SQL> EXECUTE update_sal(7369);
PL/SQL 󸮰¡ Á¤»óÀûÀ¸·Î ¿Ï·áµÇ¾ú½À´Ï´Ù.

-- 7369¹ø »ç¿øÀÇ ±Þ¿©°¡ 10% Àλó µÇ¾ú´ÂÁö È®ÀÎÇØ º¸±â ¹Ù¶õ´Ù.


¸ñ·Ï | ÀÔ·Â | ¼öÁ¤ | ´äº¯ | »èÁ¦