SQL

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

LISTAGG

LISTAGGを使って検索結果を横並びで出力させるサンプルです。 たま~にSQLの検索結果を横並びで出力したいことがあるので、シンプルなサンプルSQLをのせておきます。 通常の縦並びで検索結果を出力 — 部署毎、名前毎 […]

SQL

NVL、NVL2、CASE、SUBSTR

NVL、NVL2、CASE、SUBSTRですが、いつも使い方がわからなくなってネットで検索するのでメモしておきます。 NVL SELECT ID, NAME, NVL(NAME, ‘NULL’) FROM TB_SAMP […]

SQL

処理速度検証(MARGE)

PLSQLでテーブルにデータが存在しないことをチェックしてからINSERTを行うという処理を作っていたのですが、MERGEのNOT MATCHEDを使った方が体感的に処理速度が速いなと感じたので処理速度検証をしてみました […]

SQL

PLSQLテンプレート

ロジックを組み込んだ抽出処理や更新処理などを作成する場合、複雑なSQLを作成するよりも、PLSQLを使った方が直感的にわかりやすいロジックを作ることができます。 ただ、PLSQLの構文は記憶はしていないので、ここによく使 […]

SQL

expdpとimpdp

expdpとimpdpのサンプルコマンドです。 expdpはDBからバックアップ用のダンプファイルを作成します。 impdpはダンプファイルからオブジェクトを復元します。 スキーマを指定してexpdpとimpdp exp […]

SQL

SQLLOADER 最大長を超えています

SQLLOADERで桁数エラーとなる、よくあるパターンを紹介します。 SQLLOADERで255バイトを超えるデータを扱う場合、CTLファイルに桁数を定義していないと、「データファイルのフィールドが最大長を超えています」 […]

SQL

BLOBデータの解凍とファイル出力

テーブルに登録されている圧縮済みのBLOBデータをファイルに出力するサンプルPL/SQLになります。 前提条件 TB_SAMPLEテーブルにファイル名とファイルの中身(BLOB)データが3件格納されています。 DESC […]

SQL

ファイルをBLOBカラムに登録

DBサーバー上にあるファイルをテーブルのBLOBカラムに登録するサンプルになります。 BLOBカラムにファイルを登録する場合、javaなどPL/SQL以外で登録するのが一般的な気がしますが、DBサーバを使ってデータ移行を […]

SQL

BLOBデータの圧縮とファイル出力

文字列をBLOBに変換及びzipで圧縮してテーブルに格納する方法です。 また、テーブルに格納されているBLOBデータ(zipファイル)を取り出し、ディレクトリオブジェクトを使用してファイル出力する方法も記載します。 文字 […]