DB/Oracle/PLSQL/ÊÑ¿ô¤ÎÍøÍÑ

Top/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¥Í¥¹¥È¤·¤¿É½
    varrayvarray

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