PL/SQLÀº SQLÀÇ È®ÀåÀ̱⠶§¹®¿¡, SQL¿¡ Àû¿ëÇÏ´Â ÀϹÝÀûÀÎ ±¸¹®Àº PL/SQL ¾ð¾î¿¡ ´ëÇؼµµ Àû¿ë °¡´ÉÇÕ´Ï´Ù.
±¸ºÐ ¹®ÀÚ
±¸ºÐ ¹®ÀÚ´Â PL/SQL¿¡ ´ëÇØ Æ¯¼öÇÑ Àǹ̸¦ °¡Áö´Â ´Ü¼ø »ó¡À̰ųª È¥ÇÕ »ó¡ÀÔ´Ï´Ù.
´Ü¼ø »ó¡ ±âÈ£ |
ÀÇ ¹Ì |
È¥ÇÕ »ó¡ ±âÈ£ |
ÀÇ ¹Ì |
+ |
Ãß°¡ ¿¬»êÀÚ |
<> |
°ü°èÇü ¿¬»êÀÚ |
- |
»©±â/ºÎÁ¤ ¿¬»êÀÚ |
!= |
°ü°èÇü ¿¬»êÀÚ |
* |
°öÇϱ⠿¬»êÀÚ |
|| |
Á¢¼Ó ¿¬»êÀÚ |
/ |
³ª´©±â ¿¬»êÀÚ |
-- |
´ÜÀÏ ¶óÀÎ ÁÖ¼® Áö½ÃÀÚ |
= |
°ü°èÇü ¿¬»êÀÚ |
/* |
ÁÖ¼® ±¸ºÐ¹®ÀÚ ½ÃÀÛ |
@ |
¿ø°Ý ¾×¼¼½º Áö½ÃÀÚ |
*/ |
ÁÖ¼® ±¸ºÐ¹®ÀÚ Á¾·á |
; |
¹®Àå Á¾°áÀÚ |
:= |
ÁöÁ¤ ¿¬»êÀÚ |
ÀÚ¼¼ÇÑ ³»¿ëÀº PL/SQL User's Guide and Reference, Release 7.3 ¶Ç´Â 8.0, ¡°Fundamentals.¡±¸¦ ÂüÁ¶ÇϽʽÿÀ.
½Äº°ÀÚ
½Äº°ÀÚ´Â »ó¼ö, º¯¼ö, ¿¹¿Ü, Ä¿¼, Ä¿¼ º¯¼ö, ¼ºêÇÁ·Î±×·¥, ÆÐÅ°Áö¸¦ Æ÷ÇÔÇÏ´Â PL/SQL ÇÁ·Î±×·¥ Ç׸ñ°ú ¿ä¼Ò¸¦ ¸í¸íÇϱâ À§ÇØ »ç¿ëµË´Ï´Ù.
¿¹¾à¾î ¸ñ·Ï¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº
PL/SQL User's Guide and
Reference, Release 7.3 ¶Ç´Â 8.0, ¡°Appendix¡±¸¦ ÂüÁ¶ÇϽʽÿÀ
ÁÖ¼® ÄÚµå
°¢ ´Ü°è¸¦ ¹®¼ÈÇÏ°í µð¹ö±ëÀ» µ½±â À§ÇØ Äڵ忡 ÁÖ¼®À» ´ä´Ï´Ù. ÁÖ¼®ÀÌ ´ÜÀÏ ¶óÀο¡ ÀÖÀ¸¸é µÎ
´ë½¬( - -)·Î, ÁÖ¼® ¹üÀ§°¡
¿©·¯ ÁÙÀ̶ó¸é ±âÈ£/* ¿Í */»çÀÌ¿¡, PL/SQL ÄÚµå ÁÖ¼®À» ´Ù½Ê½Ã¿À. ÁÖ¼®Àº öÀúÇÏ°Ô Á¤º¸¸¦ Á¦°øÇØ¾ß ÇÏ°í ±â´ÉÀûÀÎ ³í¸® ¶Ç´Â µ¥ÀÌÅÍ¿¡ ´ëÇÑ ¾î¶² Á¶°Ç ¶Ç´Â ±â´ÉÀ»
°¿äÇؼ´Â ¾ÈµË´Ï´Ù. ÁÁÀº ÁÖ¼®Àº
Äڵ带 Àб⠽±°Ô ÇÏ°í ÄÚµå À¯Áö¸¦ À§ÇØ ¸Å¿ì Áß¿äÇÕ´Ï´Ù.
¿¹
¿ù ±Þ¿©¿¡¼ Àϳâ±Þ¿©¸¦ °è»êÇÕ´Ï´Ù.
... |
|
PL/SQL¿¡¼ SQL ÇÔ¼ö
¾Æ·¡ ÇÔ¼ö´Â ÀýÂ÷ÀûÀÎ ¹®Àå¿¡¼´Â »ç¿ë ºÒ°¡´ÉÇÕ´Ï´Ù.
|
¿¹
NUMBER_TABLE PL/SQL Å×ÀÌºí¿¡¼
ÀúÀåµÈ ¸ðµç ¼ýÀÚÀÇ ÇÕÀ» °è»êÇÕ´Ï´Ù.
ÀÌ ¿¹´Â ÄÄÆÄÀÏ ¿À·ù¸¦ »ý¼ºÇÕ´Ï´Ù.
v_total := SUM(number_table); |
Áßø ºí·Ï
SQL¿¡ ºñÇØ ÀåÁ¡ °¡¿îµ¥ Çϳª´Â PL/SQL¿¡¼ ¹®ÀåÀÌ
ÁßøµÉ ¼ö ÀÖ´Ù´Â °ÍÀÔ´Ï´Ù. ½ÇÇà ¹®ÀåÀÌ Çã¿ëµÇ´Â °÷ ¾îµð¿¡¼µçÁö ºí·ÏÀ» ÁßøÇÒ ¼ö ÀÖÀ¸¹Ç·Î, Áßø ºí·Ï ¹®ÀåÀ»
¸¸µå½Ê½Ã¿À. ±×·¡¼ ½ÇÇà ºí·ÏÀÇ ÀϺθ¦ ´õ ÀÛÀº ºí·ÏÀ¸·Î ÂÉ°¶ ¼ö ÀÖ½À´Ï´Ù. ¿¹¿Ü ¼½¼Çµµ ¶ÇÇÑ Áßø ºí·ÏÀ» Æ÷ÇÔÇÒ ¼ö
ÀÖ½À´Ï´Ù.
º¯¼ö ¹üÀ§
°´Ã¼ÀÇ ¹üÀ§´Â °´Ã¼¸¦ Á¶È¸ÇÒ ¼ö ÀÖ´Â ÇÁ·Î±×·¥ÀÇ ¿µ¿ªÀÔ´Ï´Ù.
¼±¾ðµÈ
º¯¼ö¸¦ ½ÇÇà ¼½¼Ç¿¡¼ ÂüÁ¶ÇÒ ¼ö ÀÖ½À´Ï´Ù.
Áßø ºí·Ï°ú º¯¼ö ¹üÀ§
½½¶óÀ̵åÀÇ Áßø ºí·Ï¿¡¼ y·Î ¸í¸íµÈ º¯¼ö´Â
x·Î ¸í¸íµÈ º¯¼ö¸¦ ÂüÁ¶ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª º¯¼ö x´Â º¯¼öy¸¦ ÂüÁ¶ÇÒ ¼ö ¾ø½À´Ï´Ù. Áßø ºí·Ï¿¡¼ º¯¼ö y°¡ ¿ÜºÎ ºí·Ï¿¡¼ÀÇ
º¯¼ö x¿Í µ¿ÀÏÇÑ À̸§À¸·Î ÁÖ¾îÁö¸é º¯¼ö yÀÇ °ªÀº Áßø ºí·ÏÀÇ ¾È¿¡¼¸¸
À¯È¿ÇÕ´Ï´Ù.
¹üÀ§
½Äº°ÀÚÀÇ ¹üÀ§´Â ½Äº°ÀÚ¸¦ ÂüÁ¶ÇÒ ¼ö ÀÖ´Â ÇÁ·Î±×·¥ ´ÜÀ§ÀÇ ¿µ¿ª(ºí·Ï, ¼ºêÇÁ·Î±×·¥,
ÆÐÅ°Áö) ÀÔ´Ï´Ù.
°¡½Ã¼º
½Äº°ÀÚ´Â ÇÑÁ¤ÇÏÁö ¾Ê´Â ( unqualified ) À̸§À»
»ç¿ëÇÏ¿© ½Äº°ÀÚ¸¦ ÂüÁ¶ÇÒ ¼ö ÀÖ´Â ¿µ¿ª¿¡¼¸¸ ÂüÁ¶ °¡´ÉÇÕ´Ï´Ù.
¿¬½À
½½¶óÀ̵åÀÇ
PL/SQL ºí·ÏÀ» Æò°¡(evaluate)ÇÕ´Ï´Ù. ¹üÀ§ ±ÔÄ¢¿¡ µû¶ó °¢°¢ÀÇ ¾Æ·¡ °ªÀ» °áÁ¤ÇϽʽÿÀ:
1. ¼ºê ºí·Ï¿¡¼ V_MESSAGE ÀÇ °ª.
2. ¸ÞÀÎ ºí·Ï¿¡¼
V_TOTAL_COMP ÀÇ °ª.
3. ¼ºê ºí·Ï¿¡¼ V_COMM ÀÇ °ª.
4. ¸ÞÀÎ ºí·Ï¿¡¼ V_COMM ÀÇ
°ª.
5. ¸ÞÀÎ ºí·Ï¿¡¼ V_MESSAGE ÀÇ °ª.
PL/SQL¿¡¼ ¿¬»êÀÚ
Null ·Î ÀÛ¾÷ ÁßÀÏ ¶§, ¾Æ·¡ ±ÔÄ¢À»
¸í½ÉÇÔÀ¸·Î½á ¸î °¡Áö ÀϹÝÀûÀÎ ½Ç¼ö¸¦ ÇÇÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÇÁ·Î±×·¡¹Ö Áöħ
PL/SQL ºí·ÏÀ» °³¹ßÇÒ ¶§, ¸íÈ®ÇÑ ÄÚµå »ý¼º°ú À¯Áö¸¦ °æ°¨Çϱâ À§ÇÏ¿© ÇÁ·Î±×·¡¹Ö ÁöħÀ»
¼öÇàÇÕ´Ï´Ù.
ÄÚµå ±Ô¾à
¾Æ·¡ Å×À̺íÀº À̸§ÀÌ ÀÖ´Â °´Ã¼¿¡¼ Å°¿öµå¸¦ ±¸º°Çϱâ À§ÇØ ´ë¹®ÀÚ ¶Ç´Â ¼Ò¹®ÀÚ ÄÚµå ¾²±â¿¡ À¯¿ëÇÑ ÁöħÀ»
Á¦°øÇÕ´Ï´Ù.
¹üÁÖ |
´ë¼Ò¹®ÀÚ ±Ô¾à |
¿¹ |
SQL ¸í·É¹® |
´ë¹®ÀÚ |
SELECT, INSERT |
PL/SQL Å°¿öµå |
´ë¹®ÀÚ |
DECLARE, BEGIN, IF |
µ¥ÀÌÅÍÇü |
´ë¹®ÀÚ |
VARCHAR2, BOOLEAN |
½Äº°ÀÚ¿Í ¸Å°³º¯¼ö |
¼Ò¹®ÀÚ |
v_sal, emp_cursor, g_sal,
p_empno |
µ¥ÀÌÅͺ£À̽º Å×À̺í°ú ¿ |
¼Ò¹®ÀÚ |
emp, orderdate, deptno |