|
Ãâó:
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% Àλó µÇ¾ú´ÂÁö È®ÀÎÇØ º¸±â ¹Ù¶õ´Ù.
|