°úÁ¤¸ñÀû
º» °úÁ¤¿¡¼´Â
ÀϹÝÀûÀ¸·Î »ç¿ëµÇ´Â ´Ù¸¥ µ¥ÀÌÅͺ£À̽º °´Ã¼ Áß ÀϺθ¦ »ý¼ºÇÏ°í À¯ÁöÇÏ´Â ¹ýÀ» ¹è¿ì°Ô µË´Ï´Ù. ÀÌ °´Ã¼´Â ½ÃÄö½º , À妽º, µ¿ÀǾ
Æ÷ÇÔÇÕ´Ï´Ù.
µ¥ÀÌÅͺ£À̽º °´Ã¼
¸¹Àº
¾îÇø®ÄÉÀ̼ǵéÀº À¯ÀÏÇÑ ¼ýÀÚ °ªÀ» ±âº» Å° °ªÀ¸·Î »ç¿ëÇÕ´Ï´Ù. ÀÌ ¿ä±¸»çÇ×À» ó¸®Çϱâ À§ÇØ Äڵ带 ¾îÇø®ÄÉÀ̼ǿ¡¼ ±¸ÃàÇϰųª À¯ÀÏÇÑ ¹øÈ£¸¦
»ý¼ºÇϱâ À§ÇØ ½ÃÄö½º¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀϺΠÁúÀÇÀÇ ¼º´ÉÀ» Çâ»ó½ÃÅ°±æ ¿øÇÑ´Ù¸é, À妽ºÀÇ »ý¼ºÀ» °í·ÁÇØ¾ß ÇÕ´Ï´Ù. ¶ÇÇÑ
¿ ¶Ç´Â ¿ÁýÇÕ¿¡¼ À¯ÀϼºÀ» °È½ÃÅ°±â À§ÇØ À妽º¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. µ¿ÀǾ »ç¿ëÇÏ¿© °´Ã¼¸¦ À§ÇÑ ´ëü¸íÀ» Á¦°øÇÒ ¼ö ÀÖ½À´Ï´Ù.
½ÃÄö½º¶õ?
|
½ÃÄö½º »ý¼º
CREATE SEQUENCE ¹®ÀåÀ» »ç¿ëÇÏ¿© ÀýÂ÷ÀûÀÎ ¹øÈ£¸¦
ÀÚµ¿ÀûÀ¸·Î »ý¼ºÇÕ´Ï´Ù.
±¸¹®¿¡¼:
sequence |
½ÃÄö½ºÀÇ À̸§ÀÔ´Ï´Ù. |
INCREMENT BY n |
Á¤¼ö °ªÀÎ nÀ¸·Î ½ÃÄö½º ¹øÈ£ »çÀÌÀÇ °£°ÝÀ» ÁöÁ¤ÇÕ´Ï´Ù. ÀÌ ÀýÀÌ »ý·«µÇ¸é ½ÃÄö½º´Â 1¾¿ Áõ°¡ÇÕ´Ï´Ù. |
START WITH n |
»ý¼ºÇϱâ À§ÇØ Ã¹¹ø° ½ÃÄö½º¸¦ ÁöÁ¤ÇÕ´Ï´Ù. ÀÌ ÀýÀÌ »ý·«µÇ¸é, ½ÃÄö½º´Â 1·Î ½ÃÀ۵˴ϴÙ. |
MAXVALUE n |
½ÃÄö½º¸¦ »ý¼ºÇÒ ¼ö ÀÖ´Â ÃÖ´ë°ªÀ» ÁöÁ¤ÇÕ´Ï´Ù. |
NOMAXVALUE |
¿À¸§Â÷¼ø¿ë 10^27 °ú ³»¸²Â÷¼ø¿ë -1ÀÇ ÃÖ´ë°ªÀ» ÁöÁ¤ÇÕ´Ï´Ù. ÀÌ°ÍÀº µðÆúÆ® ¿É¼ÇÀÔ´Ï´Ù. |
MINVALUE n |
ÃÖ¼Ò ½ÃÄö½º °ªÀ» ÁöÁ¤ÇÕ´Ï´Ù. |
NOMINVALUE |
¿À¸§Â÷¼ø¿ë 1°ú ³»¸²Â÷¼ø¿ë -(10^26)ÀÇ ÃÖ¼Ò°ªÀ» ÁöÁ¤ÇÕ´Ï´Ù. ÀÌ°ÍÀº µðÆúÆ® ¿É¼ÇÀÔ´Ï´Ù. |
CYCLE | NOCYCLE |
ÃÖ´ë ¶Ç´Â ÃÖ¼Ò°ª¿¡ µµ´ÞÇÑ ÈÄ¿¡ °è¼Ó °ªÀ» »ý¼ºÇÒ ÁöÀÇ ¿©ºÎ¸¦ ÁöÁ¤ÇÕ´Ï´Ù. NOCYCLEÀÌ µðÆúÆ® ¿É¼ÇÀÔ´Ï´Ù. |
CACHE n | NOCACHE |
¾ó¸¶³ª ¸¹Àº °ªÀÌ ¸Þ¸ð¸®¿¡ ¿À¶óŬ ¼¹ö°¡ ¹Ì¸® ÇÒ´çÇÏ°í À¯ÁöÇϴ°¡¸¦ ÁöÁ¤ÇÕ´Ï´Ù. µðÆúÆ®·Î ¿À¶óŬ ¼¹ö´Â 20À» ij½¬ÇÕ´Ï´Ù. |
½ÃÄö½ºÀÛ¼º(°è¼Ó)
À§ ¿¹¿¡¼ DEPT Å×À̺íÀÇ DEPTNO¿¡ ´ëÇØ »ç¿ëµÇ´Â
DEPT_DEPTNO¶ó´Â ½ÃÄö½º¸¦ »ý¼ºÇÕ´Ï´Ù. ½ÃÄö½º´Â 91¿¡¼ ½ÃÀÛÇϸç, ij½¬¸¦ Çã¿ëÄ¡ ¾ÊÀ¸¸ç, »çÀÌŬÀ» Çã¿ëÄ¡ ¾Ê½À´Ï´Ù.
½ÃÄö½º
»çÀÌŬº¸´Ù ´õ »¡¸® ¿À·¡µÈ ÇàÀ» Áö¿ì´Â ½Å·ÚÇÒ ¸¸ÇÑ ¸ÞÄ¿´ÏÁòÀ» °¡Áö°í ÀÖÁö ¾ÊÀº °æ¿ì¿¡, ±âº» Å° °ªÀ» »ý¼ºÇϱâ À§ÇØ ½ÃÄö½º°¡ »ç¿ëµÈ´Ù¸é
CYCLE ¿É¼ÇÀ» »ç¿ëÇؼ´Â ¾ÈµË´Ï´Ù.
ÀÚ¼¼ÇÑ ³»¿ëÀº Oracle Server SQL Reference, Release
7.3 ¶Ç´Â 8.0, ¡°CREATE SEQUENCE.¡±¸¦ ÂüÁ¶ÇϽʽÿÀ.
½ÃÄö½º È®ÀÎ
Çѹø ½ÃÄö½º¸¦ »ý¼ºÇßÀ¸¸é, ±×°ÍÀº µ¥ÀÌÅÍ »çÀü¿¡
¹®¼ÈµË´Ï´Ù.½ÃÄö½º°¡ µ¥ÀÌÅͺ£À̽º °´Ã¼°¡ µÈ ÀÌÈÄ¿¡ USER_OBJECTS µ¥ÀÌÅÍ »çÀü Å×ÀÌºí¿¡¼ ½Äº°ÇÒ ¼ö ÀÖ½À´Ï´Ù.
¶ÇÇÑ µ¥ÀÌÅÍ »çÀüÀÇ
USER_SEQUENCES Å×À̺íÀ» °Ë»öÇÔÀ¸·Î½á ½ÃÄö½ºÀÇ ¼³Á¤À» È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù.
SEQUENCE_NAME MIN_VALUE
MAX_VALUE INCREMENT_BY LAST_NUMBER |
½ÃÄö½º »ç¿ë
ÀÏ´Ü ½ÃÄö½º¸¦ ÀÛ¼ºÇß´Ù¸é, Å×ÀÌºí¿¡ »ç¿ëÇÒ ÀýÂ÷ÀûÀÎ ¹øÈ£¸¦
»ý¼ºÇϱâ À§ÇØ ½ÃÄö½º¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. NEXTVAL°ú CURRVAL ÀÇ»ç¿À» »ç¿ëÇÏ¿© ½ÃÄö½º °ªÀ»
ÂüÁ¶ÇϽʽÿÀ.
NEXTVAL°ú CURRVAL ÀÇ»ç¿
NEXTVAL pseudocolumnÀº ÁöÁ¤µÈ
½ÃÄö½º¿¡¼ ¼º°øÀûÀ¸·Î ½ÃÄö½º ¹øÈ£¸¦ »©³»±â À§ÇØ »ç¿ëµË´Ï´Ù. ½ÃÄö½º ¸íÀ¸·Î½á NEXTVALÀ» ÂüÁ¶ÇÕ´Ï´Ù. sequence.NEXTVALÀ» ÂüÁ¶ÇÒ
¶§´Â »õ ½ÃÄö½º ¹øÈ£°¡ »ý¼ºµÇ°í ÇöÀç ½ÃÄö½º ¹øÈ£´Â CURRVAL¿¡ À§Ä¡ÇÏ°Ô µË´Ï´Ù.
CURRVAL pseudocolumnÀº ¸·
»ý¼ºµÈ ÇöÀç »ç¿ëÀÚÀÇ ½ÃÄö½º ¹øÈ£¸¦ ÂüÁ¶Çϱâ À§ÇØ »ç¿ëµË´Ï´Ù. NEXTVALÀº CURRVALÀÌ ÂüÁ¶µÉ ¼ö ÀÖ±â Àü¿¡ ÇöÀç »ç¿ëÀÚÀÇ ¼¼¼Ç¿¡¼
½ÃÄö½º ¹øÈ£¸¦ »ý¼ºÇϱâ À§ÇØ »ç¿ëµÇ¾î¾ß ÇÕ´Ï´Ù. sequence.CURRVALÀÌ ÂüÁ¶µÇ¸é »ç¿ëÀÚÀÇ ÇÁ·Î¼¼½º¿¡ »ç¿ëµÈ ÃÖÈÄ ½ÃÄö½º °ªÀÌ µð½ºÇ÷¹ÀÌ
µË´Ï´Ù.
NEXTVAL°ú CURRVAL »ç¿ë ±ÔÄ¢
´ÙÀ½¿¡¼ NEXTVAL°ú CURRVALÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
´ÙÀ½¿¡¼ NEXTVAL°ú CURRVALÀ» »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.
ÀÚ¼¼ÇÑ ³»¿ëÀ» º¸½Ã·Á¸é, Oracle Server SQL Reference, Release 7.3 ¶Ç´Â 8.0, "Pseudocolumns" ¼½¼Ç°ú "CREATE SEQUENCE."¸¦ ÂüÁ¶ÇϽʽÿÀ.
½ÃÄö½º »ç¿ë
½½¶óÀÌµå ¿¹¿¡¼ DEPT Å×ÀÌºí¿¡ »õ ºÎ¼¸¦ »ðÀÔÇÕ´Ï´Ù. »õ
ºÎ¼¹øÈ£¸¦ »ý¼ºÇϱâ À§ÇØ DEPT_DEPTNO ½ÃÄö½º¸¦ »ç¿ëÇÕ´Ï´Ù.
SQL> SELECT
dept_deptno.CURRVAL |
CURRVAL |
Áö±Ý »õºÎ¼ÀÇ ½ºÅÇÀÌ µÇ´Â Á¾¾÷¿øÀ» °í¿ëÇϱ⸦ ¿øÇÑ´Ù°í °¡Á¤ÇϽʽÿÀ. ¸ðµç »õ Á¾¾÷¿ø¿¡ ´ëÇØ ¹Ýº¹ÀûÀ¸·Î ½ÇÇàµÉ ¼ö ÀÖ´Â INSERT ¹®ÀåÀº ¾Æ·¡ Äڵ带 Æ÷ÇÔÇÒ ¼ö ÀÖ½À´Ï´Ù.
SQL> INSERT INTO emp ... |
ÁÖ: À§ÀÇ ¿¹´Â ½ÃÄö½º EMP_EMPNO°¡ »õ Á¾¾÷¿ø ¹øÈ£ »ý¼ºÀ» ÀÌ¹Ì ¿Ï·áÇßÀ½À» °¡Á¤ÇÕ´Ï´Ù.
½ÃÄö½º °ª ij½¬
½ÃÄö½º °ª¿¡ ´ëÇØ º¸´Ù ºü¸¥ ¾×¼¼½º¸¦ Çã¿ëÇϱâ À§ÇØ ¸Þ¸ð¸®¿¡
½ÃÄö½º¸¦ ij½¬ÇÕ´Ï´Ù. ij½¬´Â ½ÃÄö½º¸¦ óÀ½¿¡ ÂüÁ¶ÇÒ ¶§ Çü¼ºµË´Ï´Ù. ´ÙÀ½ ½ÃÄö½º °ª¿¡ ´ëÇÑ °¢ ¿ä±¸´Â ij½¬µÈ ½ÃÄö½º¿¡¼ ÀоîµéÀÔ´Ï´Ù. ¸¶Áö¸·
½ÃÄö½º°¡ »ç¿ëµÈ ÈÄ¿¡ ½ÃÄö½º¿¡ ¿ä±¸Çϸé ij½¬µÈ ½ÃÄö½º¸¦ ¸Þ¸ð¸®¿¡ °®´Ù ³õ½À´Ï´Ù.
½ÃÄö½º¿¡¼ °£°ÝÀÇ
°æ°è
½ÃÄö½º »ý¼ºÀÚ´Â °£°Ý(gap)¾øÀÌ ÀýÂ÷ÀûÀÎ ¹øÈ£¸¦ ¹ß»ýÇϴµ¥, ÀÌ
ÀÛ¾÷Àº Ä¿¹Ô ¶Ç´Â ·Ñ¹é°ú °ü°è¾øÀÌ ¹ß»ýÇÕ´Ï´Ù. ±×·¯¹Ç·Î, ½ÃÄö½º¸¦ Æ÷ÇÔÇÑ ¹®ÀåÀ» ·Ñ¹éÇÑ´Ù¸é, ¹øÈ£´Â ¼Õ½ÇµË´Ï´Ù. ½ÃÄö½º¿¡¼ °£°Ý(gap)ÀÇ
¶Ç´Ù¸¥ ¿øÀÎÀÌ µÉ ¼ö ÀÖ´Â °æ¿ì´Â ½Ã½ºÅÛ ½ÇÆÐ(crash)ÀÔ´Ï´Ù. ¸Þ¸ð¸®¿¡¼ ½ÃÄö½º °ªÀ» ij½¬ÇÑ´Ù¸é, ½Ã½ºÅÛ ½ÇÆÐ(crash)ÀÏ ¶§ ÀÌ °ªµéÀº
¼Õ½ÇµË´Ï´Ù.
½ÃÄö½º°¡ Á÷Á¢ÀûÀ¸·Î Å×ÀÌºí¿¡ °íÁ¤µÇ¾î ÀÖÁö ¾Ê±â ¶§¹®¿¡ µ¿ÀÏ ½ÃÄö½º°¡ ´ÙÁß Å×ÀÌºí¿¡¼ »ç¿ëµÇ¾î Áú ¼ö ÀÖ½À´Ï´Ù. ÀÌ
»óȲÀÌ ¹ß»ýÇÑ´Ù¸é, °¢ Å×À̺íÀº ¼øÂ÷ÀûÀÎ ¹øÈ£¿¡ °£°ÝÀÌ »ý±æ ¼ö ÀÖ½À´Ï´Ù.
Áõ°¡ ¾øÀÌ ´ÙÀ½ »ç¿ë °¡´É ½ÃÄö½º °ª ºä
USER_SEQUENCES Å×À̺íÀ» ÁúÀÇÇÏ¿© NOCACHE·Î ½ÃÄö½º°¡ »ý¼ºµÈ °æ¿ì¿¡¸¸, Áõ°¡ ¾øÀÌ ´ÙÀ½ »ç¿ë °¡´É
°ªÀ» º¼ ¼ö ÀÖ½À´Ï´Ù.
½ÃÄö½º ¼öÁ¤
½ÃÄö½º¿¡ ´ëÇØ MAXVALUE ÇÑ°è¿¡ µµ´ÞÇÑ´Ù¸é, ´õ ÀÌ»ó
½ÃÄö½º °ªÀ» ÇÒ´ç ¹ÞÀ» ¼ö ¾øÀ» °ÍÀÌ°í, MAXVALUE¸¦ ÃÊ°úÇÏ´Â ½ÃÄö½º¸¦ ³ªÅ¸³»´Â ¿¡·¯¸¦ ¹ÞÀ» °ÍÀÔ´Ï´Ù. ½ÃÄö½º¸¦ °è¼Ó »ç¿ëÇϱâ À§ÇØ,
ALTER SEQUENCE ¹®ÀåÀ» »ç¿ëÇÏ¿© ¼öÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
±¸¹®
ALTER
SEQUENCE sequence |
¿©±â¼: sequence ½ÃÄö½º »ý¼ºÀÚÀÇ
À̸§ÀÔ´Ï´Ù.
º¸´Ù ÀÚ¼¼ÇÑ ³»¿ëÀº Oracle Server SQL Reference, Release 7.3 ¶Ç´Â
8.0, ¡°ALTER SEQUENCE.¡±¸¦ ÂüÁ¶ÇϽʽÿÀ
½ÃÄö½º Á¦°Å
µ¥ÀÌÅÍ »çÀü¿¡¼ ½ÃÄö½º¸¦ Á¦°ÅÇϱâ À§ÇØ, DROP
SEQUENCE ¹®ÀåÀ» »ç¿ëÇÕ´Ï´Ù. ½ÃÄö½º¸¦ Á¦°ÅÇϱâ À§ÇØ ½ÃÄö½ºÀÇ ¼ÒÀ¯ÀÚÀ̰ųª DROP ANY SEQUENCE ±ÇÇÑÀ» °¡Á®¾ß
ÇÕ´Ï´Ù.
±¸¹®
DROP SEQUENCE sequence;
¿©±â¼: sequence ½ÃÄö½º »ý¼ºÀÚÀÇ
À̸§ÀÔ´Ï´Ù.
ÀÚ¼¼ÇÑ ³»¿ëÀº Oracle Server SQL Reference, Release 7.3 ¶Ç´Â
8.0, ¡°DROP SEQUENCE.¡± ¸¦ ÂüÁ¶ÇϽʽÿÀ.
Áöħ(À½¼º ¼³¸íÀº ¾ø½À´Ï´Ù)
|