10回 DML文 ●執筆準備 01 Delete、Insert、Update、Merge を使ったOracleSQLパズルのコンテンツをチェック ■■■ 元ネタ候補のメモ 2021-11-23 New ↓↓↓↓↓ ■■■ 理解済 2-1-1 マルチテーブルインサート 理解済 2-1-3 select文の結果を使ってupdate 理解済 2-2-4 インラインビューを使用してmerge 理解済 2-2-5 条件付きinsert(1レコードのみ) 理解済 2-2-6 条件付きinsert(複数レコード) 理解済 2-2-12 merge(1レコードのみ) 理解済 3-4 順位にupdate 理解済 3-6 空き時間を探索してinsert 理解済 3-7 空き時間を探索してupdate 理解済 3-43 更新可能なインラインビューでのwith句 理解済 4-17 最大値の行の値を、他テーブルの最大値の行の値で更新 理解済 4-19 リニアサーチで更新対象を求める 理解済 4-21 updatableViewと複数列update 理解済 4-22 UpdatableViewをmergeで代用(3テーブル版) 理解済 5-3 RowIDを使用した、同一レコードかのチェック 理解済 5-8 update文で相関サブクエリ 理解済 5-9 他テーブルの値を使用してupdate 理解済 5-10 データのグループ分け 理解済 5-21 RowNumによる件数指定 理解済 5-28 update文で連番に更新 理解済 5-50 プライマリキーの交換 理解済 5-51 グループの値を交換 未理解 7-5 同一日付を期間に含むレコード数 未理解 7-7 delete文で相関サブクエリ 未理解 7-8 プライマリキーの入れ替え 未理解 7-10 ランダムな列をupdate 未理解 7-13 和集合を作成してmerge 未理解 7-15 古のSQL(条件分岐その1) 未理解 8-52 ピボット選択インサート 未理解 10-55 RowNumで削除件数を指定 未理解 10-60 ポイントをmerge 未理解 10-68 グループで最大値の行のフラグオフ 未理解 10-70 条件を満たす行に連番を設定 未理解 10-90 指定サイズを下回るまでdelete 未理解 10-92 RowNumでスカラー副問い合わせ 未理解 10-101 直前の値と等しかったら削除 未理解 10-102 ログテーブルの循環使用 未理解 10-107 UpdatableViewで更新 未理解 10-118 二通りの連番付与 未理解 10-136 集合の最初の値を相殺 未理解 10-160 各レコードをランダムに更新 未理解 10-169 having句にこだわったupdate文 未理解 10-239 Last_Value(式 ignore nulls)でupdate 未理解 10-260 3テーブルでのUpdatableView 未理解 10-265 差集合をマルチテーブルインサート 未理解 10-327 最大下界の行でupdate ■■■ 元ネタ候補のメモ 2021-11-23 New ↑↑↑↑↑ ■■■ 02 SQLクイズの内容のチェック 03 目次の決定 ●記事構成案 執筆準備が終わったら再考すること 01 Deleteとtruncate 02 Insert Into テーブル名 Values 03 Insert Into テーブル名 Select 04 Insert First 05 Insert All 06 ピボット選択Insert 07 Insert /* IGNORE_ROW_ON_DUPKEY_INDEX テーブル名(列名リスト) */ 08 Insert /* IGNORE_ROW_ON_DUPKEY_INDEX テーブル名(索引名) */ 09 Update テーブル名 set 10 Update テーブル名 set (列名カンマ区切り) select 11 Update (UpdatableView) UpdatableViewはイメージ図を付ける 12 Merge Insert文あり 13 Merge Insert文なし 14 Merge Delete文あり 15 DML文でのWith句 16 DML文のサンプル集
11回 詳説 Oracleの正規表現 ●執筆準備 01 詳説正規表現第3版 02 US-OTNのRegexの4スレッド 03 OracleSQLパズルのコンテンツをRegExpでGrep 04 正規表現パズルのOracleに関するもの 05 Owa_Patternについて調べる 06 Javaストアドプロシージャの正規表現について調べる ●記事構成案 詳説正規表現第3版のOracleの章を意識しつつ、執筆準備が終わったら再考すること 01 正規表現エンジンのチェック (ふくろう本) 02 owa_pattern.amatch 03 RegExp_Like 04 RegExp_Replace 05 RegExp_SubStr (第6引数も扱う) 06 RegExp_Instr 07 RegExp_Count 08 Javaストアドプロシージャ (おそらく割愛 2020-03-08) 09 メタキャラの紹介とサンプル 11 文字クラスでのエスケープの仕様 11 括弧問題 12 CD氏のチュートリアル 13 CD氏スペシャル (マッチパターンをカンマ区切り) 14 CD氏スペシャル (アンマッチパターンをカンマ区切り) 15 OracleSQLパズルでRegExpでGrepしたもの 16 正規表現パズルのOracleに関するもの
12回 よく使う関数 ●執筆準備 01 [a-z]+\( でGrep ●記事構成案 Case式,Decode,nvl,nvl2,coalesce,sign,abs LnNvl,nullif,translate,greatest,Least SubStr,LTrim,RTrim,Trim,InStr,Replace LPad,RPad Last_Day,add_months,months_between,extract,NumToDsInterVal trunc,round To_Char,To_Number,Cast関数 CharToRowID,RowIDToChar (多分不要) To_Date とDateリテラル To_TimeStamp と TimeStampリテラル と フラッシュバック問い合わせ など使用頻度の多い関数を、覚えやすい分類および順序とする。