図でイメージするOracleのSQL全集の元原稿

図でイメージするOracleのSQL全集の執筆メモ


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リテラル と フラッシュバック問い合わせ など使用頻度の多い関数を、覚えやすい分類および順序とする。