SQL ÂüÁ¶¼
ALLOCATE CURSOR ¹®Àº °á°ú ¼¼Æ® À§Ä¡ ÁöÁ¤ÀÚ º¯¼ö·Î ½Äº°µÇ´Â
°á°ú ¼¼Æ®¿¡ ´ëÇÑ Ä¿¼¸¦ ÇÒ´çÇÕ´Ï´Ù. ASSOCIATE LOCATORS¹®¿¡
°á°ú ¼¼Æ® À§Ä¡ ÁöÁ¤ÀÚ º¯¼ö¿¡ ´ëÇØ ÀÚ¼¼È÷ ³ª¿Í ÀÖ½À´Ï´Ù.
±¸¹®
>>-ALLOCATE--cursor-name--CURSOR FOR RESULT SET--rs-locator-variable-->
>--------------------------------------------------------------><
¼³¸í
- cursor-name
- Ä¿¼ À̸§À» ÁöÁ¤ÇÕ´Ï´Ù. ÀÌ À̸§Àº ÀÌ¹Ì ¼Ò½º SQL ÇÁ·Î½Ãµà¾î¿¡¼ ¼±¾ðµÈ
Ä¿¼¸¦ ½Äº°ÇØ¾ß ÇÕ´Ï´Ù(SQLSTATE 24502).
- CURSOR FOR RESULT SET rs-locator-variable
-
È£½ºÆ® º¯¼ö ±ÔÄ¢¿¡ µû¶ó ¼Ò½º SQL ÇÁ·Î½Ãµà¾î¿¡ ¼±¾ðµÈ
°á°ú ¼¼Æ® À§Ä¡ ÁöÁ¤ÀÚ º¯¼ö¸¦ ÁöÁ¤ÇÕ´Ï´Ù.
SQL º¯¼ö ¼±¾ð¿¡ ´ëÇØ ÀÚ¼¼È÷ ¾Ë·Á¸é SQL variable declarationÀ» ÂüÁ¶ÇϽʽÿÀ.
°á°ú ¼¼Æ® À§Ä¡ ÁöÁ¤ÀÚ º¯¼ö¿¡´Â ASSOCIATE LOCATORS SQL ¹®ÀÌ ¸®ÅÏÇÏ´Â
À¯È¿ÇÑ °á°ú ¼¼Æ® À§Ä¡ ÁöÁ¤ÀÚ °ªÀÌ Æ÷ÇԵǾî¾ß ÇÕ´Ï´Ù(SQLSTATE 24501).
ÁÖ
- µ¿ÀûÀ¸·Î ÁغñµÈ ALLOCATE CURSOR ¹®:
USING ÀýÀ» »ç¿ëÇÑ EXECUTE ¹®À» »ç¿ëÇÏ¿© µ¿ÀûÀ¸·Î ÁغñµÈ
ALLOCATE CURSOR ¹®À» ½ÇÇàÇØ¾ß ÇÕ´Ï´Ù. µ¿ÀûÀ¸·Î ÁغñµÈ ¸í·É¹®¿¡¼
È£½ºÆ® º¯¼ö·ÎÀÇ ÂüÁ¶´Â ¸Å°³º¯¼ö Ç¥½Ã¹®ÀÚ(¹°À½Ç¥)·Î Ç¥½ÃµË´Ï´Ù.
ALLOCATE CURSOR ¹®¿¡¼ rs-locator-variableÀº Ç×»ó
È£½ºÆ® º¯¼öÀÔ´Ï´Ù. µû¶ó¼ µ¿ÀûÀ¸·Î ÁغñµÈ ALLOCATE CURSOR ¹®ÀÇ °æ¿ì,
EXECUTE ¹®ÀÇ USING ÀýÀº ¸Å°³º¯¼ö Ç¥½Ã¹®ÀÚ¿¡ ´ëÇØ ±× °ªÀÌ rs-locator-variable·Î
´ëüµÇ´Â È£½ºÆ® º¯¼ö¸¦ ½Äº°ÇØ¾ß ÇÕ´Ï´Ù.
- ÀÌ¹Ì DECLARE CURSOR ¹®¿¡ »ç¿ëµÈ ¸í·É¹® ½Äº°ÀÚ·Î
ALLOCATE CURSOR ¹®À» ÁغñÇÒ ¼ö ¾ø½À´Ï´Ù. ¿¹¸¦ µé¾î, ´ÙÀ½ SQL¹®Àº
À¯È¿ÇÏÁö ¾ÊÀºµ¥, ÀÌ´Â PREPARE ¹®ÀÌ STMT1À» ALLOCATE CURSOR ¹®ÀÇ
½Äº°ÀÚ·Î »ç¿ëÇϰí STMT1ÀÌ ÀÌ¹Ì DECLARE CURSOR ¹®¿¡ »ç¿ëµÇ¾ú±â ¶§¹®ÀÔ´Ï´Ù.
DECLARE CURSOR C1 FOR STMT1;
PREPARE STMT1 FROM
'ALLOCATE C2 CURSOR FOR RESULT SET ?';
±ÔÄ¢
- ´ÙÀ½ ±ÔÄ¢Àº ÇÒ´çµÈ Ä¿¼¸¦ »ç¿ëÇÒ ¶§ Àû¿ëµË´Ï´Ù.
- ÇÒ´çµÈ Ä¿¼´Â OPEN ¹®À¸·Î ¿ ¼ö ¾ø½À´Ï´Ù(SQLSTATE
24502).
- ÇÒ´çµÈ Ä¿¼´Â CLOSE ¹®À¸·Î ´ÝÀ» ¼ö ÀÖ½À´Ï´Ù. ÇÒ´çµÈ Ä¿¼¸¦ ´ÝÀ¸¸é
ÀúÀå ÇÁ·Î½Ãµà¾îÀÇ °ü·Ã Ä¿¼°¡ ´ÝÈü´Ï´Ù.
- °¢ °á°ú ¼¼Æ®¿¡ ´ëÇØ ÇϳªÀÇ Ä¿¼¸¸À» ÇÒ´çÇÒ ¼ö ¾ø½À´Ï´Ù.
- ÇÒ´çµÈ Ä¿¼´Â ±¸°£ º¹¿ø Á¶ÀÛ, ³»ÀçµÈ ´Ý±â ¶Ç´Â ¸í½ÃÀû ´Ý±â±îÁö Áö¼ÓµË´Ï´Ù.
- È®¾à Á¶ÀÛÀº ÀúÀå ÇÁ·Î½Ãµà¾î¿¡ ÀÇÇØ Á¤ÀÇµÈ WITH HOLD »óŰ¡ ¾Æ´Ñ ÇÒ´çµÈ Ä¿¼¸¦ ÆÄ±«ÇÕ´Ï´Ù.
- ÇÒ´çµÈ Ä¿¼¸¦ ¾ø¾Ö¸é SQL ÇÁ·Î½Ãµà¾îÀÇ °ü·Ã Ä¿¼°¡ ´ÝÈü´Ï´Ù.
¿¹
ÀÌ SQL ÇÁ·Î½Ãµà¾î ¿¹´Â Ä¿¼ C1À» Á¤ÀÇÇÏ°í °á°ú ¼¼Æ® À§Ä¡ ÁöÁ¤ÀÚ º¯¼ö LOC1 ¹× SQL ÇÁ·Î½Ãµà¾î¿¡
ÀÇÇØ ¸®ÅÏµÈ °ü·Ã °á°ú ¼¼Æ®¿Í ¿¬°ü½Ãŵ´Ï´Ù.
ALLOCATE C1 CURSOR FOR RESULT SET LOC1;
[ ÆäÀÌÁöÀÇ ¸Ç À§ | ÀÌÀü ÆäÀÌÁö | ´ÙÀ½ ÆäÀÌÁö | ¸ñÂ÷ | »öÀÎ ]