SQL ÂüÁ¶¼­

ALTER TYPE(±¸Á¶È­)

ALTER TYPE¹®Àº »ç¿ëÀÚ Á¤ÀÇ ±¸Á¶ À¯ÇüÀÇ ¼Ó¼º ¶Ç´Â ¸Þ¼Òµå ½ºÆåÀ» Ãß°¡Çϰųª »èÁ¦Çϱâ À§ÇØ »ç¿ëµË´Ï´Ù.

È£Ãâ

ÀÌ ¸í·É¹®Àº ÀÀ¿ëÇÁ·Î±×·¥¿¡ Æ÷ÇԵǰųª µ¿Àû SQL¹®À» »ç¿ëÇÏ¿© ¹ßÇàµÉ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¸í·É¹®Àº µ¿ÀûÀ¸·Î ÁغñÇÒ ¼ö ÀÖ´Â ½ÇÇà °¡´ÉÇÑ ¸í·É¹®ÀÔ´Ï´Ù. ±×·¯³ª DYNAMICRULES BIND ¹ÙÀÎµå ¿É¼ÇÀÌ Àû¿ëµÇ¸é, ¸í·É¹®À» µ¿ÀûÀ¸·Î ÁغñÇÒ ¼ö ¾ø½À´Ï´Ù(SQLSTATE 42509).

±ÇÇÑ ºÎ¿©

¸í·É¹®ÀÇ ±ÇÇÑ ºÎ¿© ID¿¡¼­ °®°í Àִ Ư±Ç¿¡ ´ÙÀ½ Áß ÃÖ¼ÒÇÑ Çϳª´Â Æ÷ÇԵǾî¾ß ÇÕ´Ï´Ù.

±¸¹®

>>-ALTER TYPE--type-name---------------------------------------->
 
      .-,----------------------------------------------------------------------------------------.
      V   (1)                                                                                    |
>---------------+-ADD ATTRIBUTE--| attribute-definition |-------------------------------------+--+>
                |                                .-RESTRICT-.                                 |
                +-DROP ATTRIBUTE--attribute-name-+----------+---------------------------------+
                +-ADD--| method-specification |-----------------------------------------------+
                |                                                               .-RESTRICT-.  |
                '-DROP--+-METHOD--method-name--------------------------------+--+----------+--'
                        +-METHOD--method-name--(--+-------------------+---)--+
                        |                         |  .-,-----------.  |      |
                        |                         |  V             |  |      |
                        |                         '----data-type---+--'      |
                        '-SPECIFIC METHOD--specific-name---------------------'
 
>--------------------------------------------------------------><
 

ÁÖ:

  1. ¼Ó¼º°ú ¸Þ¼Òµå µÑ´Ù°¡ Ãß°¡µÇ°Å³ª »èÁ¦µÉ °æ¿ì, ¸ðµç ¸Þ¼Òµå ½ºÆå ÀÌÀü¿¡ ¸ðµç ¼Ó¼º ½ºÆåÀÌ ¹ß»ýÇØ¾ß ÇÕ´Ï´Ù.

¼³¸í

À¯Çü À̸§
º¯°æµÉ ±¸Á¶È­ À¯ÇüÀ» ½Äº°ÇÕ´Ï´Ù. īŻ·Î±×¿¡ Á¤ÀÇµÈ ±âÁ¸ÀÇ À¯Çü(SQLSTATE 42704)À̾î¾ß Çϰí, À¯ÇüÀº ±¸Á¶È­ À¯Çü(SQLSTATE 428DP)À̾î¾ß ÇÕ´Ï´Ù. µ¿Àû SQL¹®¿¡¼­, CURRENT SCHEMA Ư¼ö ·¹Áö½ºÅÍ´Â ±ÔÁ¤È­µÇÁö ¾ÊÀº ¿ÀºêÁ§Æ® À̸§ÀÇ ±ÔÁ¤ÀÚ·Î »ç¿ëµË´Ï´Ù. Á¤Àû SQL¹®¿¡¼­, QUALIFIER precompile/bind ¿É¼ÇÀº ³»ÀçÀûÀ¸·Î ±ÔÁ¤È­µÇÁö ¾ÊÀº ¿ÀºêÁ§Æ® À̸§ÀÇ ±ÔÁ¤ÀÚ¸¦ ÁöÁ¤ÇÕ´Ï´Ù.

ADD ATTRIBUTE
±âÁ¸ÀÇ ±¸Á¶È­ À¯ÇüÀÇ ÃÖÁ¾ ¼Ó¼º ´ÙÀ½¿¡ ¼Ó¼ºÀ» Ãß°¡ÇÕ´Ï´Ù.

¼Ó¼º Á¤ÀÇ
¼Ó¼º Á¤ÀÇÀÇ ¼¼ºÎ ¼³¸í¿¡ ´ëÇØ¼­´Â CREATE TYPE(±¸Á¶È­)¿¡¼­ ÀÚ¼¼ÇÑ ³»¿ëÀ» ÂüÁ¶ÇϽʽÿÀ.

¼Ó¼º À̸§
¼Ó¼º¿¡ ´ëÇÑ À̸§À» ÁöÁ¤ÇÕ´Ï´Ù. À̸§Àº ÇØ´çµÇ´Â ±¸Á¶È­ À¯ÇüÀÇ ´Ù¸¥ ¼Ó¼º(°è½ÂµÈ ¼Ó¼ºÀ» Æ÷ÇÔÇÏ¿©)À̳ª, ÇØ´çµÇ´Â ±¸Á¶È­ À¯ÇüÀÇ ºÎ¼Ó À¯Çü¿¡ ´ëÇÑ ´Ù¸¥ ¼Ó¼º°ú °°À¸¸é ¾È µË´Ï´Ù(SQLSTATE 42711).

¼ú¾î¿¡¼­ Ű¿öµå·Î »ç¿ëµÇ´Â ¿©·¯ À̸§µéÀº ½Ã½ºÅÛ¿¡¼­ »ç¿ëÇϵµ·Ï ¿¹¾àµÇ¾î ÀÖÀ¸¹Ç·Î, ¼Ó¼º À̸§À¸·Î »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù(SQLSTATE 42939). SOME, ANY, ALL, NOT, AND, OR, BETWEEN, NULL, LIKE, EXISTS, IN, UNIQUE, OVERLAPS, SIMILAR, MATCH¿Í °°Àº À̸§µéÀÌ ÀÖ°í, ºñ±³ ¿¬»êÀÚµµ Æ÷ÇԵ˴ϴÙ.

µ¥ÀÌÅÍ À¯Çü 1
¼Ó¼ºÀÇ µ¥ÀÌÅÍ À¯ÇüÀ» ÁöÁ¤ÇÕ´Ï´Ù. À̰ÍÀº LONG VARCHAR, LONG VARGRAPHIC, ¶Ç´Â LONG VARCHARÀ̳ª LONG VARGRAPHICÀ» ±âÃÊ·Î ÇÏ´Â ±¸º° À¯Çü À̿ܿ¡, CREATE TABLE ¾Æ·¡¿¡ ³ª¿­µÇ´Â µ¥ÀÌÅÍ À¯Çü Áß ÇϳªÀÔ´Ï´Ù(SQLSTATE 42601). µ¥ÀÌÅÍ À¯ÇüÀº ±âÁ¸ÀÇ µ¥ÀÌÅÍ À¯ÇüÀ» ½Äº°ÇØ¾ß ÇÕ´Ï´Ù(SQLSTATE 42704). ½ºÅ°¸¶ À̸§ ¾øÀÌ µ¥ÀÌÅÍ À¯ÇüÀ» ÁöÁ¤ÇÒ °æ¿ì, SQL °æ·ÎÀÇ ½ºÅ°¸¶¸¦ °Ë»öÇÏ¿© À¯ÇüÀÌ ÇØ¼®µË´Ï´Ù. ´Ù¾çÇÑ µ¥ÀÌÅÍ À¯Çü¿¡ ´ëÇÑ ¼³¸íÀº CREATE TABLE¿¡ ÀÖ½À´Ï´Ù. ¼Ó¼º µ¥ÀÌÅÍ À¯ÇüÀÌ ÂüÁ¶ À¯ÇüÀÏ °æ¿ì, ÂüÁ¶ÀÇ ¸ñÇ¥ À¯ÇüÀº Á¸ÀçÇÏ´Â ±¸Á¶È­ À¯ÇüÀ̾î¾ß ÇÕ´Ï´Ù(SQLSTATE 42704).

¼Ó¼º À¯ÇüÀÌ DATALINK·Î Á¤ÀÇµÈ ±¸Á¶È­ À¯ÇüÀº ÀÔ·ÂµÈ Å×À̺íÀ̳ª ÀÔ·Â ºä¿¡ ´ëÇÑ µ¥ÀÌÅÍ À¯ÇüÀ¸·Î¸¸ È¿À²ÀûÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù(SQLSTATE 01641).

·±Å¸ÀÓ¿¡¼­ À¯ÇüÀÇ ÀνºÅϽº¿¡ Á÷Á¢ ¶Ç´Â °£Á¢ÀûÀ¸·Î °°Àº À¯ÇüÀÇ ´Ù¸¥ ÀνºÅϽº³ª ÇØ´çµÇ´Â ºÎ¼Ó À¯Çü Áß Çϳª°¡ Æ÷ÇԵǵµ·Ï ÇÏ´Â À¯Çü Á¤ÀǸ¦ ±ÝÁöÇϱâ À§ÇØ, ÇØ´çµÇ´Â ¼Ó¼º À¯Çü Áß Çϳª°¡ Á÷Á¢ ¶Ç´Â °£Á¢ÀûÀ¸·Î ÀÚü¸¦ »ç¿ëÇÏ´Â °Í°ú °°ÀÌ À¯ÇüÀÌ Á¤ÀǵÇÁö ¾Êµµ·Ï ÇÏ´Â Á¦ÇÑ»çÇ×ÀÌ ÀÖ½À´Ï´Ù(SQLSTATE 428EP). ±¸Á¶È­ À¯Çü¿¡¼­ ÀÚ¼¼ÇÑ ¼³¸íÀ» ÂüÁ¶ÇϽʽÿÀ.

lob ¿É¼Ç
LOB À¯Çü°ú ¿¬°üµÈ ¿É¼Ç(¶Ç´Â LOB À¯Çü¿¡ ±âÃÊÇÑ ±¸º° À¯Çü)À» ÁöÁ¤ÇÕ´Ï´Ù. lob ¿É¼ÇÀÇ ¼¼ºÎ ¼³¸í¿¡ ´ëÇØ¼­´Â CREATE TABLE¿¡¼­ ÀÚ¼¼ÇÑ ³»¿ëÀ» ÂüÁ¶ÇϽʽÿÀ.

µ¥ÀÌÅÍ ¸µÅ© ¿É¼Ç
DATALINK À¯Çü°ú ¿¬°üµÈ ¿É¼Ç(¶Ç´Â DATALINK À¯Çü¿¡ ±âÃÊÇÑ ±¸º° À¯Çü)À» ÁöÁ¤ÇÕ´Ï´Ù. µ¥ÀÌÅ͸µÅ© ¿É¼ÇÀÇ ¼¼ºÎ ¼³¸í¿¡ ´ëÇØ¼­´Â CREATE TABLE¿¡¼­ ÀÚ¼¼ÇÑ ³»¿ëÀ» ÂüÁ¶ÇϽʽÿÀ.

DATALINK À¯ÇüÀ̳ª DATALINK¿¡¼­ Àü·¡µÇ´Â ±¸º° À¯Çü¿¡ ´ëÇØ ¾î¶² ¿É¼Çµµ ÁöÁ¤ÇÏÁö ¾ÊÀ» °æ¿ì, ±âº»°ªÀº LINKTYPE URL ¹× NO LINK CONTROL ¿É¼ÇÀÔ´Ï´Ù.

DROP ATTRIBUTE
±âÁ¸ÀÇ ±¸Á¶È­ À¯Çü ¼Ó¼ºÀ» »èÁ¦ÇÕ´Ï´Ù.

¼Ó¼º À̸§
¼Ó¼ºÀÇ À̸§. ¼Ó¼ºÀº À¯ÇüÀÇ ¼Ó¼ºÀ¸·Î¼­ Á¸ÀçÇØ¾ß ÇÕ´Ï´Ù(SQLSTATE 42703).

RESTRICT
±âÁ¸ÀÇ Å×À̺í, ºä, Ä÷³, Ä÷³ À¯Çü ³»¿¡ ÁßøµÈ ¼Ó¼º, ¶Ç´Â »öÀÎ È®ÀåÀÇ À¯ÇüÀ¸·Î À¯Çü À̸§À» »ç¿ëÇÒ °æ¿ì ¾î¶² ¼Ó¼ºµµ »èÁ¦µÉ ¼ö ¾ø°Ô ÇÏ´Â ±ÔÄ¢ÀÌ ½ÃÇàµË´Ï´Ù.

ADD ¸Þ¼Òµå ½ºÆå
À¯Çü À̸§¿¡ ÀÇÇØ ½Äº°µÇ´Â À¯Çü¿¡ ¸Þ¼Òµå ½ºÆåÀ» Ãß°¡ÇÕ´Ï´Ù. ¸Þ¼Òµå´Â º°µµÀÇ CREATE METHOD¹®À» »ç¿ëÇÏ¿© ¸Þ¼Òµå¿¡ ³»¿ëÀ» Á¦°øÇÒ ¶§±îÁö »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù. ¸Þ¼Òµå ½ºÆå¿¡ ´ëÇØ¼­´Â CREATE TYPE(±¸Á¶È­)¿¡¼­ ÀÚ¼¼ÇÑ ³»¿ëÀ» ÂüÁ¶ÇϽʽÿÀ.

DROP METHOD
»èÁ¦µÉ ¸Þ¼ÒµåÀÇ ÀνºÅϽº¸¦ ½Äº°ÇÕ´Ï´Ù. ÁöÁ¤µÈ ¸Þ¼Òµå´Â ±âÁ¸ ¸Þ¼Òµå ³»¿ëÀ» °¡Áö°í ÀÖÁö ¾Ê¾Æ¾ß ÇÕ´Ï´Ù(SQLSTATE 428ER). DROP METHOD¹®À» »ç¿ëÇÏ¿©, ALTER TYPE DROP METHOD¸¦ »ç¿ëÇϱâ ÀÌÀü¿¡ ¸Þ¼Òµå ³»¿ëÀ» »èÁ¦Çϵµ·Ï ÇϽʽÿÀ.

ÁöÁ¤µÈ ¸Þ¼Òµå´Â īŻ·Î±×¿¡ ¼³¸íµÈ ¸Þ¼Òµå¿©¾ß ÇÕ´Ï´Ù(SQLSTATE 42704). CREATE TYPE¹®¿¡ ÀÇÇØ ³»ÀçÀûÀ¸·Î »ý¼ºµÇ´Â ¸Þ¼Òµå(¿¹: mutators ¹× observers)´Â »èÁ¦ÇÒ ¼ö ¾ø½À´Ï´Ù(SQLSTATE 42917).

»èÁ¦µÉ ¸Þ¼Òµå ½ºÆåÀ» ½Äº°ÇÒ ¼ö ÀÖ´Â ¸î °¡ÁöÀÇ ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù.

METHOD ¸Þ¼Òµå À̸§
Ưº°ÇÑ ¸Þ¼Òµå¸¦ ½Äº°Çϰí, À̸§ÀÌ ¸Þ¼Òµå À̸§À̰í ÁÖÁ¦ À¯ÇüÀÌ À¯Çü À̸§ÀÎ ¸Þ¼Òµå ÀνºÅϽº°¡ Á¤È®È÷ Çϳª ÀÖ´Â °æ¿ì¿¡¸¸ À¯È¿ÇÕ´Ï´Ù. ±×·¯¹Ç·Î ½Äº°µÇ´Â ¸Þ¼Òµå¿¡´Â ÀÓÀÇ °³¼öÀÇ ¸Å°³º¯¼ö°¡ ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù. À¯Çü À¯Çü À̸§¿¡ ´ëÇØ ÀÌ À̸§ÀÇ ¸Þ¼Òµå°¡ ÀüÇô Á¸ÀçÇÏÁö ¾ÊÀ» °æ¿ì, ¿À·ù°¡ ¹ß»ýÇÕ´Ï´Ù(SQLSTATE 42704). ¸í¸íµÈ µ¥ÀÌÅÍ À¯Çü¿¡ ´ëÇØ À̸§ÀÌ ¸Þ¼Òµå À̸§ÀÎ Çϳª ÀÌ»óÀÇ ¸Þ¼Òµå°¡ ÀÖÀ» °æ¿ì, ¿À·ù°¡ ¹ß»ýÇÕ´Ï´Ù(SQLSTATE 42854).

METHOD ¸Þ¼Òµå À̸§(µ¥ÀÌÅÍ À¯Çü,...)
»èÁ¦ÇÒ ¸Þ¼Òµå¸¦ °íÀ¯ÇÏ°Ô ½Äº°ÇÏ´Â ¸Þ¼Òµå ½Ã±×´Ïó¸¦ Á¦°øÇÕ´Ï´Ù. ¸Þ¼Òµå ¼±Åà ¾Ë°í¸®ÁòÀº »ç¿ëµÇÁö ¾Ê½À´Ï´Ù.

¸Þ¼Òµå À̸§
ƯÁ¤ À¯Çü¿¡ ´ëÇØ »èÁ¦µÉ ¸Þ¼ÒµåÀÇ À̸§. À̸§Àº °íÀ¯ÇÏÁö ¾ÊÀº ½Äº°ÀÚ¿©¾ß ÇÕ´Ï´Ù.

(µ¥ÀÌÅÍ À¯Çü,...)
¸Þ¼Òµå°¡ Á¤ÀÇµÉ ¶§ ¸Þ¼Òµå ½ºÆåÀÇ ÇØ´ç À§Ä¡¿¡¼­ ÁöÁ¤ÇÑ µ¥ÀÌÅÍ À¯Çü°ú ÀÏÄ¡ÇØ¾ß ÇÕ´Ï´Ù. µ¥ÀÌÅÍ À¯ÇüÀÇ ¼ö¿Í µ¥ÀÌÅÍ À¯ÇüÀÇ ³í¸®Àû º´ÇÕÀº »èÁ¦µÉ ƯÁ¤ ¸Þ¼Òµå ÀνºÅϽº¸¦ ½Äº°ÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù.

¸Å°³º¯¼öÈ­µÈ µ¥ÀÌÅÍ À¯Çü¿¡ ´ëÇÑ Á¤¹Ðµµ ¶Ç´Â ½ºÄÉÀÏ, ±æÀ̸¦ ÁöÁ¤ÇÏ´Â °ÍÀº ÇÊ¿äÇÏÁö ¾Ê½À´Ï´Ù. ´ë½Å, µ¥ÀÌÅÍ À¯Çü ÀÏÄ¡¸¦ ãÀ» ¶§ ÀÌµé ¼Ó¼ºÀÌ ¹«½ÃµÊÀ» Ç¥½ÃÇϱâ À§ÇØ ºó °ýÈ£¸¦ ¾µ ¼ö ÀÖ½À´Ï´Ù.

¸Å°³º¯¼ö °ªÀÌ ´Ù¸¥ µ¥ÀÌÅÍ À¯Çü(REAL ¶Ç´Â DOUBLE)À» ³ªÅ¸³»±â ¶§¹®¿¡ FLOAT()´Â »ç¿ëµÉ ¼ö ¾ø½À´Ï´Ù(SQLSTATE 42601).

±×·¯³ª, ±æÀÌ, Á¤¹Ðµµ ¶Ç´Â ½ºÄÉÀÏÀÌ ÄÚµåÈ­µÈ °æ¿ì, ±× °ªÀº CREATE TYPE¹®¿¡ ÁöÁ¤µÈ °Í°ú Á¤È®È÷ ÀÏÄ¡ÇØ¾ß ÇÕ´Ï´Ù.

0<n<25´Â REAL À¯ÇüÀ̰í 24<n<54´Â DOUBLE À¯ÇüÀ» ÀǹÌÇϱ⠶§¹®¿¡ FLOAT(n) À¯ÇüÀÌ n¿¡ ´ëÇØ Á¤ÀÇµÈ °ª°ú ÀÏÄ¡ÇÒ ÇÊ¿ä´Â ¾ø½À´Ï´Ù. ÀÏÄ¡(Matching)´Â À¯ÇüÀÌ REALÀÎÁö ¶Ç´Â DOUBLEÀÎÁö¿¡ µû¶ó ¹ß»ýÇÕ´Ï´Ù.

ÁöÁ¤µÈ ½Ã±×´Ïó¿¡ ÇØ´çµÇ´Â ¸Þ¼Òµå°¡ ¸í¸íµÈ µ¥ÀÌÅÍ À¯Çü¿¡ ´ëÇØ Á¸ÀçÇÏÁö ¾ÊÀ¸¸é, ¿À·ù°¡ ¹ß»ýÇÕ´Ï´Ù(SQLSTATE 42883).

SPECIFIC METHOD ƯÁ¤ À̸§
¸Þ¼Òµå°¡ Á¤ÀÇµÉ ¶§ Á¦°øµÇ°Å³ª ±âº»°ªÀ¸·Î ¼³Á¤µÈ ƯÁ¤ À̸§À» »ç¿ëÇÏ¿©, »èÁ¦µÉ ƯÁ¤ ¸Þ¼Òµå¸¦ ½Äº°ÇÕ´Ï´Ù. ƯÁ¤ À̸§ÀÌ ±ÔÁ¤µÇÁö ¾ÊÀº À̸§ÀÏ °æ¿ì, ¸Þ¼Òµå´Â À¯Çü À̸§¿¡ ´ëÇØ ÁöÁ¤µÈ µ¥ÀÌÅÍ À¯ÇüÀÇ ½ºÅ°¸¶¿¡¼­ ³»ÀçÀûÀ¸·Î ±ÔÁ¤µË´Ï´Ù. ƯÁ¤ À̸§Àº À¯Çü À¯Çü À̸§¿¡ ´ëÇØ ¸Þ¼Òµå¸¦ ½Äº°ÇØ¾ß Çϸç, ±×·¸Áö ¾ÊÀ¸¸é ¿À·ù°¡ ¹ß»ýÇÕ´Ï´Ù(SQLSTATE 42704).

RESTRICT
ÁöÁ¤µÈ ¸Þ¼Òµå°¡ ±âÁ¸ ¸Þ¼Òµå ³»¿ëÀ» °®´Â µ¥ À־ Á¦ÇѵÊÀ» ³ªÅ¸³À´Ï´Ù. DROP METHOD¹®À» »ç¿ëÇÏ¿©, ALTER TYPE DROP METHOD¸¦ »ç¿ëÇϱâ ÀÌÀü¿¡ ¸Þ¼Òµå ³»¿ëÀ» »èÁ¦Çϵµ·Ï ÇϽʽÿÀ.

±ÔÄ¢

ÁÖ

¿¹

¿¹ 1: ALTER TYPE¹®À» »ç¿ëÇÏ¿© »óÈ£ ÂüÁ¶ À¯Çü ¹× Å×ÀÌºí ¼øÈ¯À» Çã¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. EMPLOYEE ¹× DEPARTMENT »óÈ£ ÂüÁ¶ Å×À̺íÀ» °í·ÁÇϽʽÿÀ.

´ÙÀ½ ¿¬¼ÓÀº À¯Çü ¹× Å×À̺íÀÌ ÀÛ¼ºµÇµµ·Ï ÇÕ´Ï´Ù.

   CREATE TYPE DEPT ...
   CREATE TYPE EMP ... (À¯Çü REF(DEPT)ÀÇ DEPTREF ¼Ó¼º Æ÷ÇÔ)
   ALTER TYPE DEPT ADD ATTRIBUTE MANAGER REF(EMP)
   CREATE TABLE DEPARTMENT OF DEPT ...
   CREATE TABLE EMPLOYEE OF EMP (DEPTREF WITH OPTIONS SCOPE DEPARTMENT)
   ALTER TABLE DEPARTMENT ALTER COLUMN MANAGER ADD SCOPE EMPLOYEE

´ÙÀ½ ¿¬¼ÓÀº À̵é Å×ÀÌºí ¹× À¯ÇüÀÌ »èÁ¦µÇµµ·Ï ÇÕ´Ï´Ù.

   DROP TABLE EMPLOYEE   (DEPARTMENTÀÇ MANAGER Ä÷³ÀÇ ¿µ¿ª ÁöÁ¤ÀÌ Ãë¼ÒµÇ¾ú½À´Ï´Ù)
   DROP TABLE DEPARTMENT
   ALTER TYPE DEPT DROP ATTRIBUTE MANAGER
   DROP TYPE EMP
   DROP TYPE DEPT

¿¹ 2: ALTER TYPE¹®À» »ç¿ëÇÏ¿© ºÎ¼Ó À¯ÇüÀ» ÂüÁ¶ÇÏ´Â ¼Ó¼ºÀ» °¡Áø À¯ÇüÀ» ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.

   CREATE TYPE EMP ...
   CREATE TYPE MGR UNDER EMP ...
   ALTER TYPE EMP ADD ATTRIBUTE MANAGER REF(MGR)

¿¹ 3:  ALTER TYPE¹®À» »ç¿ëÇÏ¿© ¼Ó¼ºÀ» Ãß°¡ÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½ ¸í·É¹®Àº SPECIAL ¼Ó¼ºÀ» EMP À¯Çü¿¡ Ãß°¡ÇÕ´Ï´Ù. ¿ø·¡ÀÇ CREATE TYPE¹®¿¡ ÀζóÀÎ ±æÀ̰¡ ÁöÁ¤µÇÁö ¾Ê¾ÒÀ¸¹Ç·Î, DB2´Â 13À» ´õÇÏ¿© ÀζóÀÎ ±æÀ̸¦ ´Ù½Ã °è»êÇÕ´Ï´Ù(»õ ¼Ó¼º¿¡ ´ëÇÑ 10 ¹ÙÀÌÆ® + ¼Ó¼º ±æÀÌ + 2 LOB ÀÌ¿Ü ¼Ó¼º¿¡ ´ëÇÑ 2 ¹ÙÀÌÆ®).

   ALTER TYPE EMP ...
      ADD ATTRIBUTE SPECIAL CHAR(1)

¿¹ 4  ALTER TYPE¹®À» »ç¿ëÇÏ¿© À¯Çü°ú ¿¬°üµÇ´Â ¸Þ¼Òµå¸¦ Ãß°¡ÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½ ¸í·É¹®Àº BONUS¶ó°í ÇÏ´Â ¸Þ¼Òµå¸¦ Ãß°¡ÇÕ´Ï´Ù.

   ALTER TYPE EMP ...
      ADD METHOD BONUS (RATE DOUBLE)
         RETURNS INTEGER
         LANGUAGE SQL
         CONTAINS SQL
         NO EXTERNAL ACTION
         DETERMINISTIC

BONUS ¸Þ¼Òµå´Â CREATE METHOD¹®À» ¹ßÇàÇÏ¿© ¸Þ¼Òµå ³»¿ëÀ» ÀÛ¼ºÇÒ ¶§±îÁö »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù. À¯Çü EMP¿¡ SALARY¶ó°í ÇÏ´Â ¼Ó¼ºÀÌ Æ÷ÇԵǾî ÀÖ´Ù°í °¡Á¤ÇÒ °æ¿ì, ´ÙÀ½Àº ¸Þ¼Òµå ³»¿ë Á¤ÀÇÀÇ ¿¹ÀÔ´Ï´Ù.

   CREATE METHOD BONUS(RATE DOUBLE) FOR EMP
      RETURN CAST(SELF.SALARY * RATE AS INTEGER)

ÀÌ ¸í·É¹®¿¡ ´ëÇØ¼­´Â CREATE METHOD¿¡¼­ ÀÚ¼¼ÇÑ ³»¿ëÀ» ÂüÁ¶ÇϽʽÿÀ.


[ ÆäÀÌÁöÀÇ ¸Ç À§ | ÀÌÀü ÆäÀÌÁö | ´ÙÀ½ ÆäÀÌÁö | ¸ñÂ÷ | »öÀÎ ]