Club DB2ナイト・サークルã«å‚åŠ ã—ã¦ãã¾ã—ãŸã€‚講師ã¯ç”Ÿç²‹ã®(?)åƒè‘‰ã£åã€é«˜æ©‹ã•ん。
ã€ç®¡ç†ãƒ„ール編】ã¨ã„ã†å‹Ÿé›†ã ã£ãŸã®ã§ã™ãŒã€å®Ÿã¯ã€é‹ç”¨ç®¡ç†ç·¨ã€‘ã§ã—ãŸã€‚
ã‚ã¾ã‚Šè©³ã—ã知らãªã„ã®ã«é‹ç”¨ç®¡ç†ãªã‚“ã¦ãƒ»ãƒ»ãƒ»ã¨æ€ã„ã¾ã—ãŸãŒã€å‹‰å¼·ã—ãŸã“ã¨ã¯ãŸã£ãŸã®ä¸‰ã¤ã€‚
・ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—(backup)
・表ã®å†ç·¨æˆ(reorg)
ãƒ»çµ±è¨ˆæƒ…å ±ã®æ›´æ–°(runstats)
DB2ã®è³‡æ ¼ç ”ä¿®ã§å‹‰å¼·ã—ãŸã“ã¨ãŒã‚ã‚‹ã®ã§ãŠãŠã‚ˆãã®å‹•ãを知ã£ã¦ã„る言葉é”ã ã£ãŸã®ã§è‰¯ã‹ã£ãŸã§ã™ã€‚
åˆã£ã±ãªã«ã€Œãšãã£ã€ã¨æ¥ãŸè¨€è‘‰ã€‚
『DB管ç†è€…ã®ä»•事ã§ä¸€ç•ªå¤§åˆ‡ãªã®ã¯ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã§ã™ã€‚ã§ã€RAIDã¯ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã§ã¯ã‚りã¾ã›ã‚“。ã€
よ~ã知ã£ã¦ãŠã‚Šã¾ã™ã€‚知ã£ã¦ã„ã¾ã™ã‘ã©ãŸã¶ã‚“ã†ã¡ã®ç¾å ´ã§ã¯ã€å¤–部ディスク装置を使ã„å§‹ã‚ã¦ã‹ã‚‰ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã‚’ã¨ã£ã¦ã„ãªã„ã®ã§ã¯ãªã„ã‹ãªã¨æ€ã‚れã¾ã™ï¼ˆç½å¯¾æ©Ÿã«ãƒ‡ãƒ¼ã‚¿ã‚’移行ã™ã‚‹ãŸã‚ã«ãƒ€ãƒ³ãƒ—ã‚’ã¨ã£ã¦ã„ã¾ã™ãŒã€ãれã¯ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã«å…¥ã‚‹ã‹ã—ら?)。
ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã®åç§°ãŒå°‘ã—æ°—ã«ãªã‚Šã¾ã—ãŸã€‚
通常ã€ãƒ•ルãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—(full backup)ã®å¾Œã«å·®åˆ†ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—(incremental backup)ã¨å¢—分ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—(differential backup)ã‚’å˜ç‹¬ã‚‚ã—ãã¯çµ„ã¿åˆã‚ã›ã§ä½¿ã†ã¨æ€ã„ã¾ã™ãŒã€DB2ã§ã¯ã“ã“ã§è¨€ã†å·®åˆ†ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—を「デルタãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—(incremental delta)ã€ã¨å‘¼ã³ã€å¢—分ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—を「累ç©ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—(incremental)ã€ã¨å‘¼ã¶ã‚“ã ãã†ã§ã™ã€‚
表ã®å†ç·¨æˆã¯ã™ãã«ã‚³ãƒžãƒ³ãƒ‰ãŒå‡ºã¦ãã‚‹ãã‚‰ã„æ°—ã«ãªã‚‹ä½œæ¥ã§ã™ã€‚ãŸã¾ï½žã«ã“ã®è¨€è‘‰ãŒèžã“ãˆã¦ãã‚‹ã¨ã†ãã†ãã—ã¦ãã¾ã™ã€‚実作æ¥ã‚’見ãŸã“ã¨ã¯ãªã„ã‚“ã§ã™ãŒã€‚
表ã®å†ç·¨æˆã«ã¯äºŒç¨®é¡žã‚ã£ã¦ã€ä¸€ã¤ã¯ã€ãƒ†ãƒ¼ãƒ–ãƒ«ã‚’ä¸€æ™‚é ˜åŸŸã«ã‚³ãƒ”ーã—ã€å†ç·¨æˆã‚’ã—ãªãŒã‚‰å…ƒã®é ˜åŸŸã«æˆ»ã—ã¦ã„ã「シャドー・コピーã€ã€‚ã‚‚ã†ä¸€ã¤ã¯ã€PCã®ãƒ‡ãƒ•ラグã®ã‚ˆã†ã«ç©ºãスペースを少ã—ãšã¤å‹•ã‹ã—ãªãŒã‚‰è¡Œã†ã€Œã‚¤ãƒ³ãƒ—レースã€ã€‚
çµ±è¨ˆæƒ…å ±ã®æ›´æ–°ã«ã¤ã„ã¦ã¯ã‹ãªã‚Šé§†ã‘è¶³ã§ã—ãŸãŒã€DB2 9.1ã‹ã‚‰è‡ªå‹•runstatsã¯ãƒ‡ãƒ•ォルトONã ãã†ã§ã™ã€‚
å¤§è¦æ¨¡DBãªã©ã«ãŠã„ã¦ã‚¢ã‚¯ã‚»ã‚¹ãƒ»ãƒ—ランãŒå¤‰ã‚ã£ã¦ã—ã¾ã†ã®ãŒã„ã‚„ã§ã‚れã°å¿˜ã‚Œãšã«è‡ªå‹•化機能をOFFã«ã™ã‚‹ã‚ˆã†ã«ã¨æ³¨æ„ãŒã‚りã¾ã—ãŸã€‚"db2look -m"ã§çµ±è¨ˆæƒ…å ±ã®DDLã‚’ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã§ãã‚‹ã®ã§runstatsã™ã‚‹å ´åˆã«ã¯ã¨ã£ã¦ãŠãã®ã‚‚手ã ã¨è¨€ã†ã“ã¨ã§ã™ã€‚
å¤§è¦æ¨¡DBを触ã£ãŸã“ã¨ãŒãªã„ã®ã§ã‚¤ãƒ¡ãƒ¼ã‚¸ãŒã¤ãã¾ã›ã‚“ãŒã€ã‚¢ã‚¯ã‚»ã‚¹ãƒ»ãƒ—ランãŒå¤‰ã‚ã‚‹ã“ã¨ã§ã©ã‚Œãらã„SQLã®ãƒ‘フォーマンスãŒå¤‰ã‚ã‚‹ã®ã‹ä½“感ã—ã¦ã¿ãŸã„ã§ã™ï¼ˆãã‚‚ãã‚‚ã“ã“ã§è¨€ã†å¤§è¦æ¨¡ã£ã¦ã©ã®ãらã„ã®DBãªã®ã ã‚ã†ï¼Ÿï¼‰ã€‚
ã“ã®é€£ä¼‘ä¸ã«ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—・リストアãらã„ã¯è©¦ã—ã¦ã¿ã‚ˆã†ã‹ãªã€‚
ã€ç®¡ç†ãƒ„ール編】ã¨ã„ã†å‹Ÿé›†ã ã£ãŸã®ã§ã™ãŒã€å®Ÿã¯ã€é‹ç”¨ç®¡ç†ç·¨ã€‘ã§ã—ãŸã€‚
ã‚ã¾ã‚Šè©³ã—ã知らãªã„ã®ã«é‹ç”¨ç®¡ç†ãªã‚“ã¦ãƒ»ãƒ»ãƒ»ã¨æ€ã„ã¾ã—ãŸãŒã€å‹‰å¼·ã—ãŸã“ã¨ã¯ãŸã£ãŸã®ä¸‰ã¤ã€‚
・ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—(backup)
・表ã®å†ç·¨æˆ(reorg)
ãƒ»çµ±è¨ˆæƒ…å ±ã®æ›´æ–°(runstats)
DB2ã®è³‡æ ¼ç ”ä¿®ã§å‹‰å¼·ã—ãŸã“ã¨ãŒã‚ã‚‹ã®ã§ãŠãŠã‚ˆãã®å‹•ãを知ã£ã¦ã„る言葉é”ã ã£ãŸã®ã§è‰¯ã‹ã£ãŸã§ã™ã€‚
åˆã£ã±ãªã«ã€Œãšãã£ã€ã¨æ¥ãŸè¨€è‘‰ã€‚
『DB管ç†è€…ã®ä»•事ã§ä¸€ç•ªå¤§åˆ‡ãªã®ã¯ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã§ã™ã€‚ã§ã€RAIDã¯ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã§ã¯ã‚りã¾ã›ã‚“。ã€
よ~ã知ã£ã¦ãŠã‚Šã¾ã™ã€‚知ã£ã¦ã„ã¾ã™ã‘ã©ãŸã¶ã‚“ã†ã¡ã®ç¾å ´ã§ã¯ã€å¤–部ディスク装置を使ã„å§‹ã‚ã¦ã‹ã‚‰ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã‚’ã¨ã£ã¦ã„ãªã„ã®ã§ã¯ãªã„ã‹ãªã¨æ€ã‚れã¾ã™ï¼ˆç½å¯¾æ©Ÿã«ãƒ‡ãƒ¼ã‚¿ã‚’移行ã™ã‚‹ãŸã‚ã«ãƒ€ãƒ³ãƒ—ã‚’ã¨ã£ã¦ã„ã¾ã™ãŒã€ãれã¯ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã«å…¥ã‚‹ã‹ã—ら?)。
ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã®åç§°ãŒå°‘ã—æ°—ã«ãªã‚Šã¾ã—ãŸã€‚
通常ã€ãƒ•ルãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—(full backup)ã®å¾Œã«å·®åˆ†ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—(incremental backup)ã¨å¢—分ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—(differential backup)ã‚’å˜ç‹¬ã‚‚ã—ãã¯çµ„ã¿åˆã‚ã›ã§ä½¿ã†ã¨æ€ã„ã¾ã™ãŒã€DB2ã§ã¯ã“ã“ã§è¨€ã†å·®åˆ†ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—を「デルタãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—(incremental delta)ã€ã¨å‘¼ã³ã€å¢—分ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—を「累ç©ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—(incremental)ã€ã¨å‘¼ã¶ã‚“ã ãã†ã§ã™ã€‚
表ã®å†ç·¨æˆã¯ã™ãã«ã‚³ãƒžãƒ³ãƒ‰ãŒå‡ºã¦ãã‚‹ãã‚‰ã„æ°—ã«ãªã‚‹ä½œæ¥ã§ã™ã€‚ãŸã¾ï½žã«ã“ã®è¨€è‘‰ãŒèžã“ãˆã¦ãã‚‹ã¨ã†ãã†ãã—ã¦ãã¾ã™ã€‚実作æ¥ã‚’見ãŸã“ã¨ã¯ãªã„ã‚“ã§ã™ãŒã€‚
表ã®å†ç·¨æˆã«ã¯äºŒç¨®é¡žã‚ã£ã¦ã€ä¸€ã¤ã¯ã€ãƒ†ãƒ¼ãƒ–ãƒ«ã‚’ä¸€æ™‚é ˜åŸŸã«ã‚³ãƒ”ーã—ã€å†ç·¨æˆã‚’ã—ãªãŒã‚‰å…ƒã®é ˜åŸŸã«æˆ»ã—ã¦ã„ã「シャドー・コピーã€ã€‚ã‚‚ã†ä¸€ã¤ã¯ã€PCã®ãƒ‡ãƒ•ラグã®ã‚ˆã†ã«ç©ºãスペースを少ã—ãšã¤å‹•ã‹ã—ãªãŒã‚‰è¡Œã†ã€Œã‚¤ãƒ³ãƒ—レースã€ã€‚
çµ±è¨ˆæƒ…å ±ã®æ›´æ–°ã«ã¤ã„ã¦ã¯ã‹ãªã‚Šé§†ã‘è¶³ã§ã—ãŸãŒã€DB2 9.1ã‹ã‚‰è‡ªå‹•runstatsã¯ãƒ‡ãƒ•ォルトONã ãã†ã§ã™ã€‚
å¤§è¦æ¨¡DBãªã©ã«ãŠã„ã¦ã‚¢ã‚¯ã‚»ã‚¹ãƒ»ãƒ—ランãŒå¤‰ã‚ã£ã¦ã—ã¾ã†ã®ãŒã„ã‚„ã§ã‚れã°å¿˜ã‚Œãšã«è‡ªå‹•化機能をOFFã«ã™ã‚‹ã‚ˆã†ã«ã¨æ³¨æ„ãŒã‚りã¾ã—ãŸã€‚"db2look -m"ã§çµ±è¨ˆæƒ…å ±ã®DDLã‚’ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã§ãã‚‹ã®ã§runstatsã™ã‚‹å ´åˆã«ã¯ã¨ã£ã¦ãŠãã®ã‚‚手ã ã¨è¨€ã†ã“ã¨ã§ã™ã€‚
å¤§è¦æ¨¡DBを触ã£ãŸã“ã¨ãŒãªã„ã®ã§ã‚¤ãƒ¡ãƒ¼ã‚¸ãŒã¤ãã¾ã›ã‚“ãŒã€ã‚¢ã‚¯ã‚»ã‚¹ãƒ»ãƒ—ランãŒå¤‰ã‚ã‚‹ã“ã¨ã§ã©ã‚Œãらã„SQLã®ãƒ‘フォーマンスãŒå¤‰ã‚ã‚‹ã®ã‹ä½“感ã—ã¦ã¿ãŸã„ã§ã™ï¼ˆãã‚‚ãã‚‚ã“ã“ã§è¨€ã†å¤§è¦æ¨¡ã£ã¦ã©ã®ãらã„ã®DBãªã®ã ã‚ã†ï¼Ÿï¼‰ã€‚
ã“ã®é€£ä¼‘ä¸ã«ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—・リストアãらã„ã¯è©¦ã—ã¦ã¿ã‚ˆã†ã‹ãªã€‚
先週ã®åœŸæ›œæ—¥ã«IBMã®DB2ãƒãƒ¼ãƒ ãŒé–‹å‚¬ã—ã¦ã„ã‚‹Club DB2ã®ã€Žã€åœŸæ›œé–‹å‚¬ã€‘ ã•ã‚ã£ã¦ã¿ã‚ˆã† DB2 9.7ã€ã«å‚åŠ ã—ã¦ãã¾ã—ãŸã€‚
ãªãœã‹DB2ã®ä¸Šä½è³‡æ ¼ã‚’æŒã£ã¦ã„ã‚‹ç§ã§ã™ãŒã€å®Ÿéš›ã«ã¯ã»ã¨ã‚“ã©DB2ã«è§¦ã‚ŒãŸã“ã¨ãŒã‚りã¾ã›ã‚“ã€‚è©¦é¨“å¯¾ç–æœ¬ã‚„DB2æ–°æ©Ÿèƒ½ã®æœ¬ã‚’èªã‚“ã§æ¥½ã—ã‚“ã§ã„ã‚‹ã®ã§å¤šå°‘ã¯çŸ¥ã£ã¦ã„ã‚‹ã¤ã‚‚り。
データベースã£ã¦ãªã‚“ã ã‹ä¸æ€è°ãªæ°—ãŒã—ã¦ã¨ã¦ã‚‚興味をæŒã£ã¦ã„ã‚‹ã®ã§ã™ãŒã€ã›ã„ãœã„SQLを書ããらã„ã§ã™ï¼ˆå‰ã®ç¾å ´ã§ã¯4000行を超ãˆã‚‹SQLを書ã„ãŸã“ã¨ãŒã‚りã¾ã™ï¼‰ã€‚
今回ã®ãƒãƒ³ã‚ºã‚ªãƒ³ã¯é¡Œåã‹ã‚‰ã‚ã‹ã‚‹ã¨ãŠã‚Šã€ã©ã¡ã‚‰ã‹ã¨ã„ã†ã¨åˆå¿ƒè€…å‘ã‘ã®ä¼šã§ã—ãŸã€‚ä¼šã®æµã‚Œã¨ã—ã¦ã¯ã€ã¾ãšã€ŒDBã‚„SQLã£ã¦ã©ã‚“ãªæ„Ÿã˜ã®ã‚‚ã®ãªã®ï¼Ÿã€ã¨ã„ã†ãŠè©±ã‚’èžã„ã¦ã€å¾Œã¯ç”¨æ„ã•れãŸãƒ†ã‚ã‚¹ãƒˆã«æ²¿ã£ã¦SQLã®ãŠå‹‰å¼·ï¼‹DB2ã¨ä»²è‰¯ããªã‚‹æ™‚é–“ã¨ãªã£ã¦ã„ã¾ã—ãŸã€‚終了時間ã¾ã§ã¯ä½•ã‚’ã—ã¦ã‚‚OKï¼
SQLã¯ã ã„ãŸã„知ã£ã¦ã„ã‚‹ã®ã§ãƒ†ã‚ストã¯ã™ãã«çµ‚ã‚りã¾ã—ãŸã€‚ã§ã™ã®ã§ã€æ™®æ®µè§¦ã‚‹ã“ã¨ã®ãªã„DB2ã§ã„ã‚ã„ã‚éŠã‚“ã§ã„ã¾ã—ãŸã€‚
・fromテーブルã®ä½œæˆ
 DB2ã§ã¯SQLã®å˜èªžã‚’テーブルåやカラムåã«è¨å®šã§ãã‚‹ã¨è¨€ã†ã“ã¨ã‚’èžã„ã¦ã„ãŸã®ã§è©¦ã—ã¦ã¿ã¾ã—ãŸã€‚
CREATE TABLE FROM(
SELECT SMALLINT,
FROM SMALLINT,
WHERE SMALLINT,
GROUP_BY SMALLINT,
ORDER_BY SMALLINT
);
 ãã—ã¦ã€é©å½“ãªãƒ‡ãƒ¼ã‚¿ã‚’挿入ã—ã€SELECT。
SELECT FROM FROM FROM
ã¨ã‹
SELECT SELECT FROM FROM WHERE WHERE ORDER BY ORDER_BY
ã¨ã„ã†å®Ÿå‹™ã§ç™ºè¦‹ã—ãŸã‚‰ã¶ã¡ãŽã‚Œãã†ãªSQLを実行ã—ã¦æ¥½ã—ã¿ã¾ã—ãŸã€‚
・新ãƒãƒƒã‚¯æ©Ÿèƒ½"CS with CC"ã®ä½“験
 何ã¨ã„ã†è¨€è‘‰ã®çŸç¸®å½¢ã ã‹ã¯å¿˜ã‚Œã¦ã—ã¾ã„ã¾ã—ãŸãŒï¼ˆCCã¯"Currently Committed")ã€Oracleã«è¿‘ã„å‹•ããŒã§ãるよã†ã«è¿½åŠ ã•れãŸã‚‰ã—ã„ã§ã™ã€‚
 DB2ã®å…ƒã€…ã®å‹•ãã¨ã—ã¦ã¯ã€ãƒ†ãƒ¼ãƒ–ルAã®ãƒ‡ãƒ¼ã‚¿ã‚’UPDATEã—ã¦æœªã‚³ãƒŸãƒƒãƒˆçŠ¶æ…‹ã§ã„ã‚‹å ´åˆã€ã»ã‹ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒãƒ†ãƒ¼ãƒ–ルAã‚’SELECTã—ã¦ã‚‚ãƒãƒƒã‚¯ãŒã‹ã‹ã£ã¦ã„る状態ãªã®ã§ãƒ‡ãƒ¼ã‚¿ã®å–å¾—ãŒã§ãã¾ã›ã‚“。
 今回新ã—ãè¿½åŠ ã•れãŸã“ã®æ©Ÿèƒ½ã‚’有効ã«ã—ãŸå¾Œã«ä¸Šè¨˜ã¨åŒã˜SQLを実行ã™ã‚‹ã¨ã€å¤‰æ›´å‰ã®ãƒ‡ãƒ¼ã‚¿ã‚’èªã¿è¾¼ã‚“ã§ãã¦ãれã¾ã™ã€‚
 ã“れãŒè‰¯ã„ã‹æ‚ªã„ã‹ã¯ç¾å ´ã«ã‚ˆã‚Šã¾ã™ã。
・CLP Plus
 ãªã‚“ã ã‹Oracleã«è¿Žåˆã—ã¦ã„るよã†ãªæ°—ãŒã—ã¾ã™ãŒã€SQL *Plusã«ã‹ãªã‚Šè¿‘ã„æ„Ÿã˜ã§ã‚ªãƒšãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
 dual表を使用ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã—ã€è¡¨ç¤ºãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã‚’Oracleã®ã‚³ãƒžãƒ³ãƒ‰ã§è¨å®šã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ï¼ˆ"set pages"ã‚„"set lin"ãªã©ï¼‰ã€‚
 ãŠå‹‰å¼·ãŒçµ‚ã‚ã£ãŸã‚‰IBMã®äººã¨ã€Club DB2ã«å‚åŠ ã—ãŸäººãŸã¡ã¨ã®æ‡‡è¦ªä¼šã«è¡Œãã¾ã—ãŸã€‚
 土曜日ã«å‹‰å¼·ãƒ»ãƒ»ãƒ»ã¨ã„ã†æ„Ÿã˜ã§ã™ãŒã€é”æˆæ„Ÿã®ã‚ã‚‹åˆå¾Œã§ã—ãŸã€‚
ãªãœã‹DB2ã®ä¸Šä½è³‡æ ¼ã‚’æŒã£ã¦ã„ã‚‹ç§ã§ã™ãŒã€å®Ÿéš›ã«ã¯ã»ã¨ã‚“ã©DB2ã«è§¦ã‚ŒãŸã“ã¨ãŒã‚りã¾ã›ã‚“ã€‚è©¦é¨“å¯¾ç–æœ¬ã‚„DB2æ–°æ©Ÿèƒ½ã®æœ¬ã‚’èªã‚“ã§æ¥½ã—ã‚“ã§ã„ã‚‹ã®ã§å¤šå°‘ã¯çŸ¥ã£ã¦ã„ã‚‹ã¤ã‚‚り。
データベースã£ã¦ãªã‚“ã ã‹ä¸æ€è°ãªæ°—ãŒã—ã¦ã¨ã¦ã‚‚興味をæŒã£ã¦ã„ã‚‹ã®ã§ã™ãŒã€ã›ã„ãœã„SQLを書ããらã„ã§ã™ï¼ˆå‰ã®ç¾å ´ã§ã¯4000行を超ãˆã‚‹SQLを書ã„ãŸã“ã¨ãŒã‚りã¾ã™ï¼‰ã€‚
今回ã®ãƒãƒ³ã‚ºã‚ªãƒ³ã¯é¡Œåã‹ã‚‰ã‚ã‹ã‚‹ã¨ãŠã‚Šã€ã©ã¡ã‚‰ã‹ã¨ã„ã†ã¨åˆå¿ƒè€…å‘ã‘ã®ä¼šã§ã—ãŸã€‚ä¼šã®æµã‚Œã¨ã—ã¦ã¯ã€ã¾ãšã€ŒDBã‚„SQLã£ã¦ã©ã‚“ãªæ„Ÿã˜ã®ã‚‚ã®ãªã®ï¼Ÿã€ã¨ã„ã†ãŠè©±ã‚’èžã„ã¦ã€å¾Œã¯ç”¨æ„ã•れãŸãƒ†ã‚ã‚¹ãƒˆã«æ²¿ã£ã¦SQLã®ãŠå‹‰å¼·ï¼‹DB2ã¨ä»²è‰¯ããªã‚‹æ™‚é–“ã¨ãªã£ã¦ã„ã¾ã—ãŸã€‚終了時間ã¾ã§ã¯ä½•ã‚’ã—ã¦ã‚‚OKï¼
SQLã¯ã ã„ãŸã„知ã£ã¦ã„ã‚‹ã®ã§ãƒ†ã‚ストã¯ã™ãã«çµ‚ã‚りã¾ã—ãŸã€‚ã§ã™ã®ã§ã€æ™®æ®µè§¦ã‚‹ã“ã¨ã®ãªã„DB2ã§ã„ã‚ã„ã‚éŠã‚“ã§ã„ã¾ã—ãŸã€‚
・fromテーブルã®ä½œæˆ
 DB2ã§ã¯SQLã®å˜èªžã‚’テーブルåやカラムåã«è¨å®šã§ãã‚‹ã¨è¨€ã†ã“ã¨ã‚’èžã„ã¦ã„ãŸã®ã§è©¦ã—ã¦ã¿ã¾ã—ãŸã€‚
CREATE TABLE FROM(
SELECT SMALLINT,
FROM SMALLINT,
WHERE SMALLINT,
GROUP_BY SMALLINT,
ORDER_BY SMALLINT
);
 ãã—ã¦ã€é©å½“ãªãƒ‡ãƒ¼ã‚¿ã‚’挿入ã—ã€SELECT。
SELECT FROM FROM FROM
ã¨ã‹
SELECT SELECT FROM FROM WHERE WHERE ORDER BY ORDER_BY
ã¨ã„ã†å®Ÿå‹™ã§ç™ºè¦‹ã—ãŸã‚‰ã¶ã¡ãŽã‚Œãã†ãªSQLを実行ã—ã¦æ¥½ã—ã¿ã¾ã—ãŸã€‚
・新ãƒãƒƒã‚¯æ©Ÿèƒ½"CS with CC"ã®ä½“験
 何ã¨ã„ã†è¨€è‘‰ã®çŸç¸®å½¢ã ã‹ã¯å¿˜ã‚Œã¦ã—ã¾ã„ã¾ã—ãŸãŒï¼ˆCCã¯"Currently Committed")ã€Oracleã«è¿‘ã„å‹•ããŒã§ãるよã†ã«è¿½åŠ ã•れãŸã‚‰ã—ã„ã§ã™ã€‚
 DB2ã®å…ƒã€…ã®å‹•ãã¨ã—ã¦ã¯ã€ãƒ†ãƒ¼ãƒ–ルAã®ãƒ‡ãƒ¼ã‚¿ã‚’UPDATEã—ã¦æœªã‚³ãƒŸãƒƒãƒˆçŠ¶æ…‹ã§ã„ã‚‹å ´åˆã€ã»ã‹ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒãƒ†ãƒ¼ãƒ–ルAã‚’SELECTã—ã¦ã‚‚ãƒãƒƒã‚¯ãŒã‹ã‹ã£ã¦ã„る状態ãªã®ã§ãƒ‡ãƒ¼ã‚¿ã®å–å¾—ãŒã§ãã¾ã›ã‚“。
 今回新ã—ãè¿½åŠ ã•れãŸã“ã®æ©Ÿèƒ½ã‚’有効ã«ã—ãŸå¾Œã«ä¸Šè¨˜ã¨åŒã˜SQLを実行ã™ã‚‹ã¨ã€å¤‰æ›´å‰ã®ãƒ‡ãƒ¼ã‚¿ã‚’èªã¿è¾¼ã‚“ã§ãã¦ãれã¾ã™ã€‚
 ã“れãŒè‰¯ã„ã‹æ‚ªã„ã‹ã¯ç¾å ´ã«ã‚ˆã‚Šã¾ã™ã。
・CLP Plus
 ãªã‚“ã ã‹Oracleã«è¿Žåˆã—ã¦ã„るよã†ãªæ°—ãŒã—ã¾ã™ãŒã€SQL *Plusã«ã‹ãªã‚Šè¿‘ã„æ„Ÿã˜ã§ã‚ªãƒšãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
 dual表を使用ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã—ã€è¡¨ç¤ºãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã‚’Oracleã®ã‚³ãƒžãƒ³ãƒ‰ã§è¨å®šã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ï¼ˆ"set pages"ã‚„"set lin"ãªã©ï¼‰ã€‚
 ãŠå‹‰å¼·ãŒçµ‚ã‚ã£ãŸã‚‰IBMã®äººã¨ã€Club DB2ã«å‚åŠ ã—ãŸäººãŸã¡ã¨ã®æ‡‡è¦ªä¼šã«è¡Œãã¾ã—ãŸã€‚
 土曜日ã«å‹‰å¼·ãƒ»ãƒ»ãƒ»ã¨ã„ã†æ„Ÿã˜ã§ã™ãŒã€é”æˆæ„Ÿã®ã‚ã‚‹åˆå¾Œã§ã—ãŸã€‚