DB/Oracle/PLSQL/¥Ç¡¼¥¿¥Ù¡¼¥¹Ï¢·È

Top/DB/Oracle/PLSQL/¥Ç¡¼¥¿¥Ù¡¼¥¹Ï¢·È

Ìܼ¡

PL/SQL ¤«¤é Oracle Database ¤òÁàºî¤¹¤ë¡£¤Ä¤Þ¤ê¤ÏÃæ¤Ë SQL ʸ¤òËä¤á¹þ¤à¤ªÏá£


SELECT

¥Æ¡¼¥Ö¥ë¤«¤é¤Î¥Ç¡¼¥¿¤Î¸¡º÷¡£¤½¤·¤Æ¸¡º÷·ë²Ì¤òÊÑ¿ô¤ËÊü¤ê¹þ¤à¡£

°Ê²¼¤Î¥µ¥ó¥×¥ë¤Î¤è¤¦¤Ëµ­½Ò¤¹¤ë¾ì¹ç¡¢SELECT ʸ¤Î·ë²Ì¤Ï¡¢É¬¤º 1 ¹Ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤Î¤ÇÃí°Õ¡£Ê£¿ô·ï¤Î¥Ç¡¼¥¿¤ò¼èÆÀ¤·¤Æ°·¤¦¾ì¹ç¤Ï¡¢¥«¡¼¥½¥ë¤Î»ÈÍѤ¬É¬¿Ü¡£

  • SELECT
    declare
        v_hoge foo.hoge%type;
        v_fuga foo.fuga%type;
        v_piyo foo.piyo%type;
        v_sum  number;
    begin
        -- SELECT ¤·¤¿·ë²Ì¤Î³ÆÎó¤ò¤½¤ì¤¾¤ìÊÑ¿ô¤Ë³ÊǼ¤¹¤ë
        -- ÊÖ¤µ¤ì¤ë¹Ô¤¬ 1 ¹Ô¤Ë¤Ê¤ë¤è¤¦¤Ë¹Ê¤ê¹þ¤ß¤¬É¬¿Ü
        select hoge, fuga, piyo
          into v_hoge, v_fuga, v_piyo
          from foo
          where bar = 100;
    
        -- ¥°¥ë¡¼¥×´Ø¿ô¤Î·ë²Ì¤Ï 1 ¹Ô¤Ê¤Î¤Ç¤¤¤í¤¤¤í³èÍѤǤ­¤ë
        select sum(hoge)
          into v_sum
          from foo;
    end;
    /
    

ÊÑ¿ô¤Î¥Í¡¼¥ß¥ó¥°µ¬Â§¤ËÃí°Õ¤¹¤ë¤³¤È¡£¥Æ¡¼¥Ö¥ë¤ÎÎó̾¤ÈƱ¤¸ÊÑ¿ô¤òÀë¸À¤·¤Æ¤·¤Þ¤¦¤È select ʸ¤Î where ¶ç¤Ç¤¢¤¤¤Þ¤¤¤Ê¾õÂ֤ˤʤäƥ¨¥é¡¼¤¬½Ð¤ë¡£

  • ¥À¥á¤ÊÎã
    declare
        hoge foo.hoge%type;
        fuga foo.fuga%type := 100;
    begin
        select hoge
          into hoge
          from foo
          -- fuga ¤¬Îó̾¤Ê¤Î¤«ÊÑ¿ô¤Ê¤Î¤«¤ï¤«¤é¤Ê¤¤¤Î¤Ç¥¨¥é¡¼
          where fuga = fuga;
    end;
    /
    

UPDATE¡¢INSERT¡¢DELETE¡¢MERGE

¤³¤ì¤Ï¤â¤¦¤½¤Î¤Þ¤Þ½ñ¤¯¤À¤±¡£¤¤¤Þ¤µ¤é½ñ¤¯¤Þ¤Ç¤â¤Ê¤¤¤Î¤Ç³ä°¦¡£

COMMIT¡¢ROLLBACK

¤³¤ì¤â¤½¤Î¤Þ¤Þ½ñ¤¯¤À¤±¡£¤³¤ì¤â³ä°¦¡£

º¬ËÜŪ¤ÊÏäȤ·¤Æ¡¢¤½¤â¤½¤â COMMIT ¤¹¤ë¤Î¤ò˺¤ì¤ë¤È¤«¡¢¤½¤¦¤¤¤¦¥¢¥ì¤Ê¤³¤È¤ò¤·¤Ê¤¤¤è¤¦¤Ë¤·¤è¤¦¤Í¡¢¤È¡£

ROLLBACK ¤ÏÎã³°½èÍý¤ËÆþ¤ì¤ë¤³¤È¤¬Â¿¤¤¤é¤·¤¤¡£


Last-modified: 2011-11-08 (²Ð) 15:18:07