Oracle

Oracle

【Oracle】重複データを削除する方法完全ガイド|ROWID・ROW_NUMBER・CTAS・残す行の選択・再発防止まで解説

Oracleで重複データを削除する方法を完全解説。GROUP BY+HAVINGでの重複特定、ROWIDを使った削除(Oracle固有)、ROW_NUMBER()で残す行を制御する方法、CTAS再作成(大量重複時に最速)、完全一致と特定列一致の違い、最新/最古/特定条件で残す行を選ぶ方法、バッチ処理での大量削除、UNIQUE制約による再発防止まで網羅。
Oracle

【Oracle】テーブル・列のコメント(論理名)を取得する方法|USER/ALL/DBA_TAB_COMMENTS・設定・一括確認まで完全解説

OracleでテーブルコメントをUSER/ALL/DBA_TAB_COMMENTSで取得・設定する方法を完全解説。COMMENT ON文・未設定検出・DBMS_METADATAでのDDL出力・テーブル定義書向け一括クエリも紹介。
Oracle

【Oracle】特定の列が更新されたときだけ発火するトリガーの作成方法|UPDATE OF・UPDATING()・NULL安全な変更検出・実務パターンまで解説

Oracleで特定の列が更新されたときだけ発火するトリガーの作成方法を完全解説。UPDATE OF句による列指定、UPDATING('column')条件述語、UPDATE OFとUPDATING()の違い、複数列の指定方法、NULLを含む変更検出の罠と安全な書き方、給与変更監査・ステータス遷移チェック・特定列の変更禁止・変更された列だけの履歴記録の実務パターンまで網羅。
Oracle

【Oracle】今日の 0:00(当日開始時刻)を取得する方法|TRUNC(SYSDATE)・日付範囲フィルタ・昨日/今週/今月パターンまで解説

Oracleで今日の0:00(当日の開始時刻)を取得する方法を完全解説。TRUNC(SYSDATE)の基本、今日の23:59:59の取得、WHERE句での「今日」「昨日」「今週」「今月」「過去N日」フィルタパターン、TIMESTAMP型での0:00取得、タイムゾーン考慮(SYSDATE vs CURRENT_DATE)、日次バッチの境界条件・ログフィルタの実務パターンまで網羅。
Oracle

【Oracle】縦持ちデータを横持ちに変換する方法|PIVOT・CASE+GROUP BY・動的PIVOT・UNPIVOT・LISTAGG まで解説

Oracleで縦持ちデータを横持ちデータに変換する方法を完全解説。PIVOT句(11g以降)の基本構文と複数列PIVOT、CASE+GROUP BYによる旧方式、DECODE+GROUP BY、列数が不定の場合の動的PIVOT(PL/SQL+EXECUTE IMMEDIATE)、UNPIVOT(横→縦の逆変換)、LISTAGGによる文字列結合、月別クロス集計・ステータス別件数の実務パターンまで網羅。
Oracle

【Oracle】OFFSET / FETCH でページネーションを実装する方法|構文・バインド変数・ROWNUM 書き換え・ORDER BY の注意点まで解説

OracleのOFFSET/FETCH句でページネーションを実装する方法を完全解説。OFFSET M ROWS FETCH NEXT N ROWS ONLYの構文バリエーション(ROW/ROWS/FIRST/NEXT)、WITH TIES/PERCENTとの組み合わせ、バインド変数での動的ページネーション、ROWNUM方式との書き換え対応表、実行計画の内部変換、ORDER BY不定順の罠、管理画面・API・バッチ分割の実務パターンまで網羅。
Oracle

【Oracle】DUAL 表の使い方完全ガイド|仕組み・FAST DUAL 最適化・PL/SQL での代替・他 RDBMS 比較・実務パターンまで解説

OracleのDUAL表の使い方を完全解説。1行1列の内部構造とDUMMY列、FAST DUAL最適化(実際にはテーブルアクセスしない仕組み)、SYSDATE/USER/シーケンス/日付計算での使い方、PL/SQLではDUAL不要のケース、他RDBMS比較(MySQL/PostgreSQL/SQL ServerはFROM省略可)、Oracle 23cのFROM句省略、DUALへのDML禁止、連番生成・存在チェック・定数行生成の実務パターンまで網羅。
Oracle

【Oracle】MINUS で差分を取得する方法完全ガイド|NOT EXISTS との比較・NULL の扱い・EXCEPT・パフォーマンス・実務パターンまで解説

OracleのMINUS演算子で差分を取得する方法を完全解説。基本構文と動作(自動DISTINCT)、MINUS vs NOT EXISTS vs NOT IN vs LEFT JOINの使い分けとパフォーマンス比較、NULLの扱い、EXCEPT/MINUS ALL(21c以降)、集合演算3種(UNION/INTERSECT/MINUS)の比較、テーブル差分検出・マスタ不整合チェック・データ移行検証の実務パターンまで網羅。
Oracle

【Oracle】HAVING句の使い方完全ガイド|WHERE との違い・複数条件・サブクエリ・ROLLUP・パフォーマンスまで解説

OracleのHAVING句の使い方を完全解説。SQL評価順序でのHAVINGの位置づけ、WHEREとHAVINGの違い(行フィルタ vs グループフィルタ)、複数条件(AND/OR)、GROUP BYなしのHAVING、サブクエリとの組み合わせ、ROLLUP/CUBEの小計行フィルタ、CASE式との連携、パフォーマンス最適化(WHEREで先にフィルタ)まで網羅。
Oracle

【Oracle】DBリンクの作成方法完全ガイド|CREATE DATABASE LINK・PUBLIC/PRIVATE・Easy Connect・パフォーマンス・エラー対処まで解説

OracleのDBリンク(データベースリンク)の作成方法を完全解説。CREATE DATABASE LINKの構文、PRIVATE/PUBLIC/SHAREDの違い、Easy Connect記法とtnsnames.ora、CURRENT_USERリンク、DB Link経由のSELECT/INSERT/CTAS、シノニムによる隠蔽、DRIVING_SITEヒントによるパフォーマンス最適化、ORA-02019/ORA-12154エラー対処、セキュリティの注意点まで網羅。
Oracle

【Oracle】トリガーを作成する方法|BEFORE/AFTER・行/文レベル・:NEW/:OLD・INSTEAD OF・有効化/無効化まで解説

Oracleトリガーの作成方法を基礎から実践まで解説。CREATE TRIGGERの基本構文、BEFORE/AFTERの使い分け、行レベル(FOR EACH ROW)/文レベルの違い、:NEW/:OLDのINSERT/UPDATE/DELETE別動作表、INSTEAD OFトリガー、有効化/無効化/削除の管理方法、監査ログ・自動タイムスタンプ・データ検証の実務パターンまで網羅。
Oracle

【Oracle】NVL / NVL2 / COALESCE / NULLIF 完全ガイド|NULL置換の使い分け・暗黙型変換・短絡評価・実務パターンまで解説

OracleのNVL/NVL2/COALESCE/NULLIF関数を完全解説。NVLの基本と暗黙型変換の落とし穴、NVL2の3値分岐、COALESCEの短絡評価とNVLとのパフォーマンス差、NULLIFの使いどころ、集計関数でのNULL処理、他RDBMS対応表(IFNULL/ISNULL)、計算式・文字列連結・ORDER BYでのNULL処理の実務パターンまで網羅。
Oracle

【Oracle】テーブル一覧を確認するSQL完全ガイド|USER_TABLES・ALL_TABLES・DBA_TABLES・カラム・サイズ・コメントまで網羅

OracleでテーブルのSQL一覧を確認するビュー(USER_TABLES・ALL_TABLES・DBA_TABLES)の使い分けから、カラム構造・行数・サイズ・コメント(論理名)・制約・インデックス・シノニムの確認方法まで実務で使えるSQL付きで完全解説。
Oracle

【Oracle】LENGTH / LENGTHB で文字数・バイト数を取得する方法|全LENGTH関数・VARCHAR2 BYTE/CHAR・VSIZE・NLS設定まで解説

OracleのLENGTH/LENGTHB関数で文字数・バイト数を取得する方法を完全解説。LENGTH/LENGTHB/LENGTHC/LENGTH2/LENGTH4の全関数比較、文字セット(AL32UTF8/JA16SJIS)によるバイト数の違い、VARCHAR2(N BYTE) vs VARCHAR2(N CHAR)の関係、VSIZE関数、LENGTH('')=NULLの仕様、CLOBの文字数取得、NLS_LENGTH_SEMANTICS、バイト数超過チェックの実務パターンまで網羅。
Oracle

【Oracle】ORA-00942 の原因と解決方法完全ガイド|存在確認・権限・シノニム・スキーマ修飾・診断手順まで解説

ORA-00942(テーブルまたはビューが存在しません)の原因と解決方法を完全解説。原因6パターン(オブジェクト不在・スキーマ修飾漏れ・権限不足・シノニム未設定・無効参照・リサイクルビン)の確認SQLと対処法、診断チェックリスト、PL/SQLでの発生パターン、DDL内での発生ケースまで網羅。
Oracle

【Oracle】テーブルをコピーする方法完全ガイド|CTAS・INSERT SELECT・構造のみ・制約の再作成・DB Link・高速化まで解説

Oracleでテーブルをコピーする方法を完全解説。CTAS(CREATE TABLE AS SELECT)の全オプション(NOLOGGING/PARALLEL/WHERE条件/表領域指定)、INSERT INTO SELECT、構造のみコピー、制約・インデックス・トリガーがコピーされない問題と対処法、DB Link経由の別DB間コピー、NOLOGGING+APPEND+PARALLELの高速化テクニック、テスト用コピー・バックアップ・マイグレーションの実務パターンまで網羅。
Oracle

【Oracle】TO_CHAR / TO_DATE 日付フォーマット完全ガイド|書式モデル全一覧・FM修飾子・NLS_DATE_FORMAT・ORAエラー対処まで解説

OracleのTO_CHAR/TO_DATE日付フォーマットを完全解説。書式モデル(YYYY/MM/DD/HH24/MI/SS)全一覧、FM・TH・SP修飾子の使い方、TO_DATEのFX修飾子とORA-01861/01843エラー対処、TO_TIMESTAMP_TZのタイムゾーン書式、NLS_DATE_FORMATの暗黙変換危険性とパフォーマンス影響まで網羅。