SQL

Oracle SQL、PL/SQLに関する記事になります。
2018年12月まではOracle11gXEを使用して検証しています。
2019年1月からはOracle12cを使用して検証しています。
SQL

統計情報の項目説明

SQLのパフォーマンスチューニングを行うには実行計画と統計情報を確認するという作業が必須になってきます。 INDEXを使ってSQLが実行されているかを実行計画で確認できます。また、SQLのコストが高い、低いも実行計画で確 […]

SQL

NOT EXISTSを使わない

OracleのSQLではNOT EXISTSという便利な命令が使用できます。NOT EXISTS句の副問合せ条件に一致しなければ結果を返却してくれます。 また、NOT EXISTS句を使わなくてもLEFT JOINで代用 […]

SQL

MINUSの注意点

MINUS(マイナス)は落とし穴があるので気を付けて下さい。 MINUSは最初のSELECT文が母数になるようです。そのため、MINUSを使ってデータの差分を抽出したい場合、データ件数が多い方のテーブルを最初にSELEC […]

SQL

MINUSを使って差分を出力する

MINUS(マイナス)の使い方になります。 2つのSELECTの出力結果を比較して、差分があるレコードを抽出してくれます。 データ移行やデータパッチ作業で作業結果を確認するために重宝します。 基本的な使い方のサンプルです […]

SQL

ALL_TAB_COLUMNS

システムの保守をしていると、テーブルのカラムサイズを拡張したいという要件が発生することが多々あります。 そういった場合、既存システムの影響機能を調査することになりますが、設計書やプログラムを地道に調査するのは手間がかかり […]

SQL

UPDATE文で複数レコードを更新・3回目

ワークテーブルを利用して複数レコードを更新する方法。 WK_PATCH_DATAテーブルに格納しているキー情報を基にTB_CUSTOMERテーブルの各レコードを更新しています。 EXISTSを使ってUPDATEしていると […]

SQL

記事一覧

SQL記事一覧 UPDATE文で複数レコードを更新・1回目 UPDATE文で複数レコードを更新・2回目 UPDATE文で複数レコードを更新・3回目 ALL_TAB_COLUMNS MINUSを使って差分を出力する MIN […]

SQL

UPDATE文で複数レコードを更新・2回目

ワークテーブルを利用して複数レコードを更新する方法。 UPDATE文に副問合せを利用しているところがポイントです。 WK_PATCH_DATAテーブルに格納しているキー情報を基にTB_CUSTOMERテーブルの各レコード […]