DB/Oracle/PLSQL/ÊÑ¿ô¤ÎÍøÍÑ
Ìܼ¡ †
ÊÑ¿ô¤ò»È¤¦´ðÁôðËÜ¡£
´ðËÜŪ¤Ê»È¤¤Êý †
»È¤¦ÊÑ¿ô¤Ïɬ¤ºÀë¸À¤¬É¬Íס£Âçʸ»ú¤È¾®Ê¸»ú¤Ï¶èÊ̤µ¤ì¤Ê¤¤¡£
- ÊÑ¿ô¤ÎÍøÍÑ
ÊÑ¿ô̾¤ÎÀ©Ìó †
»È¤¦ºÝ¡¢Âçʸ»ú¤È¾®Ê¸»ú¤Ï¶èÊ̤µ¤ì¤Ê¤¤¤Î¤ÇÃí°Õ¡£
- ʸ»ú¤Ç»Ï¤Þ¤ë¤³¤È
- ʸ»ú¤Þ¤¿¤Ï¿ôÃÍ¡¢µ¹æ¡Ê$¡¢_¡¢#¡Ë¤«¤é¤Ê¤ë¤³¤È
- 30 ʸ»ú°Ê²¼¤Ç¤¢¤ë¤³¤È
- ͽÌó¸ì¤Ç¤Ï¤Ê¤¤¤³¤È
ÊÑ¿ô¤Î·¿ †
ÊÑ¿ô¤Ë¤Ï¤¤¤¯¤Ä¤«·¿¤¬¤¢¤ë¤Î¤Ç¤½¤Î³Îǧ¡£
- PL/SQL ÊÑ¿ô
- ¥¹¥«¥é¥Ç¡¼¥¿·¿
- ¥³¥ó¥Ý¥¸¥Ã¥È¥Ç¡¼¥¿·¿
- »²¾È¥Ç¡¼¥¿·¿
- LOB ¥Ç¡¼¥¿·¿
- PL/SQL °Ê³°¤ÎÊÑ¿ô
- ¥Ð¥¤¥ó¥ÉÊÑ¿ô
¥¹¥«¥é¥Ç¡¼¥¿·¿ †
ñ°ì¤ÎÃͤÀ¤±Êݸ¤Ç¤¤ëÊÑ¿ô¡£¤¤¤ï¤æ¤ëÊÑ¿ô¡¢°ìÈÌŪ¤Ê°ÕÌ£¤Ç¤ÎÊÑ¿ô¤Ï¤³¤ì¡£
- ¥¹¥«¥é¥Ç¡¼¥¿·¿°ìÍ÷¡ÊÈ´¿è¡Ë
·¿ ÀâÌÀ CHAR[(<size>)] ¸ÇÄêĹʸ»ú¥Ç¡¼¥¿¡£ºÇÂç 32,767 ¥Ð¥¤¥È VARCHAR2[(<size>)] ²ÄÊÑĹʸ»ú¥Ç¡¼¥¿¡£ºÇÂç 32,767 ¥Ð¥¤¥È NUMBER[(<precision, scale>)] ¿ôÃÍ¡£¥ª¥×¥·¥ç¥ó¤ÏÀºÅ٤ȷå¿ô PLS_INTEGER À°¿ô¡£NUMBER ·¿¤è¤êÁᤤ BOOLEAN ¿¿µ¶ÃÍ¡£TRUE ¤« FALSE ¤« NULL DATE ÆüÉÕ TIMESTAMP ÆüÉÕ¡£¾®¿ôÉäޤǴޤà TIMESTAMP WITH TIME ZONE ÆüÉÕ¡£¥¿¥¤¥à¥¾¡¼¥ó¤Î»þº¹¤ò´Þ¤à
ʸ»úÎó¥ê¥Æ¥é¥ë †
VARCHAR2 ·¿¤ÇÀë¸À¡£ºÇÂç¤Ç 32,767 ¥Ð¥¤¥È¡£É½¤ÎÎó¤Î·¿¤Ç¤Ï 4,000 ¤À¤Ã¤¿¤Î¤Ç°ã¤¤¤ËÃí°Õ¡£
- ʸ»úÎó¥ê¥Æ¥é¥ë
¥Ö¡¼¥ëÊÑ¿ô †
¿¿µ¶ÃÍ¡£ÃÍ¤Ï TRUE¡¢FALSE¡¢NULL ¤Î¤É¤ì¤«¡£
- ¥Ö¡¼¥ëÊÑ¿ô
¥³¥ó¥Ý¥¸¥Ã¥È¥Ç¡¼¥¿·¿ †
Ê£¿ô¤ÎÃͤòÊÝ»ý¤Ç¤¤ëÊÑ¿ô¡£ÇÛÎó¤ß¤¿¤¤¤Ê¤â¤Î¡£
- ¼ïÎà
- PL/SQL ¥ì¥³¡¼¥É
- PL/SQL ¥³¥ì¥¯¥·¥ç¥ó
- ¼ïÎà¤Î¾ÜºÙ
¼ïÎà ·¿Ì¾ ¸Æ¤ÓÊý È÷¹Í PL/SQL ¥ì¥³¡¼¥É record ¥ì¥³¡¼¥ÉÊÑ¿ô ¤è¤¯»È¤¦ PL/SQL ¥³¥ì¥¯¥·¥ç¥ó table º÷°úÉդɽ ¤è¤¯»È¤¦ nested table ¥Í¥¹¥È¤·¤¿É½ varray varray
RECORD ·¿ †
¥Æ¡¼¥Ö¥ë¤Î¹Ô¡Ê²£°ìÎó¡Ë¤Ê¥¤¥á¡¼¥¸¡£°Û¤Ê¤ë·¿¤Î¥Ç¡¼¥¿¤òÊ£¿ôÊÝ»ý¤¹¤ë¾ì¹ç¡£
- RECORD ·¿
¥Ç¡¼¥¿¥Ù¡¼¥¹¤È¤ÎÏ¢·È¤â½ÀÆð¡£¤¢¤ëɽ¤ÎÎóÄêµÁ¤ÈƱ¤¸¥Õ¥£¡¼¥ë¥É¤ò»ý¤Ä RECORD ·¿ÊÑ¿ô¤ò´Êñ¤Ëºî¤ë¤Î¤¬ %ROWTYPE¡£
- %ROWTYPE
TABLE ·¿ †
º÷°úÉդɽ¡£¥Æ¡¼¥Ö¥ë¤ÎÎó¡Ê½Ä°ìÎó¡Ë¤Ê¥¤¥á¡¼¥¸¡£Æ±¤¸·¿¤Î¥Ç¡¼¥¿¤òÊ£¿ôÊÝ»ý¤¹¤ë¾ì¹ç¡£
º÷°ú¤È¤¤¤¦¤Î¤Ï¡¢¤¤¤ï¤æ¤ëÇÛÎó¤Îꤍ»ú¤ß¤¿¤¤¤Ê¤â¤Î¡£¤¿¤À¤·Ï¢Â³¤·¤Æ¤¤¤ëɬÍפϤʤ¤¡£¤á¤Á¤ã¤¯¤Á¤ã¤Ê½ç½ø¤ÇÆþ¤ì¤Æ¤â¤¤¤¤¡ÊÆâÉôŪ¤Ë¤Ï³ÊǼ½ç¤Ç¤Ï¤Ê¤¯¤Æº÷°ú½ç¤Ç¥½¡¼¥È¤µ¤ì¤Æ´ÉÍý¤µ¤ì¤ë¤Ã¤Ý¤¤¡Ë¡£¿ô»ú¤ò¤è¤¯»È¤¦¤±¤É¡¢varchar2 ¤Ç¤âÎɤ¤¡£¤½¤¦¤¹¤ë¤ÈÏ¢ÁÛÇÛÎó¤ß¤¿¤¤¤Ê¤â¤Î¤Ë¤Ê¤ë¤Í¡£
¥Ç¡¼¥¿¤Î¸Ä¿ô¤ÏÄêµÁ¤·¤Ê¤¤¡£²ÄÊÑĹÇÛÎó¤ß¤¿¤¤¤Ê¤â¤Î¡£
- TABLE ·¿
¥á¥½¥Ã¥É¤¬»È¤¨¤ë¡£ÃæÅÓȾü¤Ë¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¡Ä¡Ä¡©
- ¥á¥½¥Ã¥É
¥ì¥³¡¼¥É¤Îº÷°úÉդɽ †
TABLE ·¿¤Ë RECORD ·¿¤òÊü¤ê¹þ¤à¤È¤¢¤éÉԻ׵ġª Æó¼¡¸µÇÛÎó¡ª ¥Æ¡¼¥Ö¥ë¤½¤Î¤Þ¤ó¤Þ¡ª
- ¥ì¥³¡¼¥É¤Îº÷°ú¤Ä¤É½
declare type foo is table of bar%rowtype index by pls_integer; hoge foo; begin hoge(1).baz := 100; end; /
¥Ð¥¤¥ó¥ÉÊÑ¿ô †
¥Û¥¹¥È´Ä¶Æâ¤ËºîÀ®¤µ¤ì¤ëÊÑ¿ô¡£¥Û¥¹¥ÈÊÑ¿ô¤È¤â¤¤¤¦¡£
- SQL*Plus ¤Ã¤Æ¤¤¤¦¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¾å¤ËÊÑ¿ô¤òºî¤Ã¤Æ»²¾È¤¹¤ë¡£PL/SQL ¤Î¥Ö¥í¥Ã¥¯¤¬½ªÎ»¤·¤Æ¤â¥¢¥¯¥»¥¹¤Ç¤¤ë¤Î¤ÇÊØÍø¤«¤â¤·¤ì¤Ê¤¤
- ¥Ð¥¤¥ó¥ÉÊÑ¿ô¤ÎÀë¸À
- NUMBER ·¿¤Î¾ì¹ç¡¢·å¿ô¤È¤«ÀºÅ٤Ȥ«¤Ï»ØÄê¤Ç¤¤Ê¤¤
- DATE ·¿¤Ï¤Ê¤¤
%TYPE °À †
¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÎó¤ÈƱ¤¸·¿¤ò³ÊǼ¤¹¤ë¤è¤¦¤ËÊÑ¿ô¤òÀë¸À¤¹¤ë¡£
ÊÑ¿ô¤Ë¡¢¤¢¤ëɽ¤Î¤¢¤ëÎ󤫤éÃͤòÂåÆþ¤·¤¿¤¤¤È¤¤Ë»È¤¦¡£É½Ì¾¤ÈÎó̾¤¬ÌÀ¤é¤«¤Ç¤¢¤ì¤Ð¡¢¤ï¤¶¤ï¤¶É½¤ÎÎó¤Î·¿¤òÄ´¤Ù¤Ê¤¯¤Æ¤¤¤¤¤·¡¢ALTER TABLE ¤Ë¤è¤ë¥Æ¡¼¥Ö¥ë¤Î»ÅÍÍÊѹ¹¤Ë¤â¼«Æ°¤ÇÂбþ¤Ç¤¤ë¡£
¤Þ¤¿¡¢ÄêµÁºÑ¤ß¤ÎÊÑ¿ô¤ÈƱ¤¸·¿¤ÇÊ̤ÎÊÑ¿ô¤ò»È¤¤¤¿¤¤¤È¤¤Ë¤â»È¤¨¤ë¡£
¥½¡¼¥¹¥³¡¼¥É¤ò¸«¤¿¤À¤±¤Ç¤Ï·¿¤¬¤ï¤«¤é¤Ê¤¤¡Ê¤â¤·¤¯¤Ï¤ï¤«¤ê¤Ë¤¯¤¤¡Ë¤È¤¤¤¦¥Ç¥á¥ê¥Ã¥È ¤â¤¢¤ë¡£
- %TYPE °À¤òÉղä·¤¿ÊÑ¿ô¤ÎÀë¸À
ÃÖ´¹ÊÑ¿ô¤È¤Îº¹°Û †
º®Æ±¤·¤Ê¤¤¤è¤¦¤Ëµ¤¤ò¤Ä¤±¤è¤¦¡£
Last-modified: 2011-11-08 (²Ð) 15:33:12