SQLLOADERコマンドでCSVファイル、TSVファイルを取り込む方法です。 SQLLOADERコマンドでCSVファイルのデータを取り込む CTLファイル OPTIONS ( SKIP = 0 — スキップ無し(全件 […]
SQL
Oracle SQL、PL/SQLに関する記事になります。
2018年12月まではOracle11gXEを使用して検証しています。
2019年1月からはOracle12cを使用して検証しています。
BLOBデータの解凍とファイル出力
テーブルに登録されている圧縮済みのBLOBデータをファイルに出力するサンプルPL/SQLになります。 前提条件 TB_SAMPLEテーブルにファイル名とファイルの中身(BLOB)データが3件格納されています。 DESC […]
ファイルをBLOBカラムに登録
DBサーバー上にあるファイルをテーブルのBLOBカラムに登録するサンプルになります。 BLOBカラムにファイルを登録する場合、javaなどPL/SQL以外で登録するのが一般的な気がしますが、DBサーバを使ってデータ移行を […]
BLOBデータの圧縮とファイル出力
文字列をBLOBに変換及びzipで圧縮してテーブルに格納する方法です。 また、テーブルに格納されているBLOBデータ(zipファイル)を取り出し、ディレクトリオブジェクトを使用してファイル出力する方法も記載します。 文字 […]
BLOBデータをSPOOL
TB_SAMPLEテーブルのBLOBカラムに格納されているバイナリデータを文字列に変換して出力するPL/SQLサンプルです。 文字列で出力する関係上、CLOBに変換してからDBMS_OUTPUT.PUT_LINEを使って […]
BLOBデータ登録のサンプルPLSQL
BLOBカラムにはVARCHAR2で収まらないような大容量のデータを格納することができます。ただ、BLOBを扱うのはVARCHAR2に比べるとやっかいです。下記はBLOBカラムにBLOBデータを登録する超シンプルなサンプ […]
BLOBを文字列で出力する
テーブルに登録されているBLOBデータを出力するサンプルになります。 BLOBを通常の文字列で出力するには「UTL_RAW.CAST_TO_VARCHAR2」や「DBMS_LOB.SUBSTR」を使う必要があります。 B […]
特定の日付で抽出する
特定の日付のデータを抽出する方法です。 条件を指定したい対象のカラムが日付型、タイムスタンプ型となっている場合のWHERE句の指定方法になります。 前提条件 TB_SAMPLEテーブルにDATE型、TIMESTAMP型の […]
NULLが入る項目にもINDEXの効果がある
昔、NULLが入る項目にINDEXを張っても効果が無いと聞いたことがあって、NULLが入る項目にはINDEXは使わないようにしていましたが、そんなことは無く「INDEX(RANGE SCAN)」してくれます。私の勘違いだ […]
FETCH FIRST
Oracle12cから追加されたFETCH FIRST N ROWS ONLYを紹介します。 Oracle11以前はORDER BY でソートした結果の1件目だけを抽出するというようなことをする場合、内部ビューを使う必要 […]
最近のコメント