Oracle

Oracle

[Oracle] 大量データのバルクINSERTと通常INSERTの速度比較

概要大量データの処理を高速で行えるバルク処理を使って、どのくらいの速度が違うのかを確認していきます。処理概要データ件数は10万件で行うtemp_empテーブルにある10万件のデータを取り出す取り出したデータをempテーブルにINSERTする...
Oracle

[Oracle] listener.oraを変更後は再起動して反映させる

概要listener.oraで、リスナーの内容を変更しても、すぐには反映されなかったときの対応。変更後は、リスナーとOracleの再起動が必要です。サービスの再起動(方法1)1つ目のやり方としては、Windowsのサービスから、リスナーとO...
Oracle

[PL/SQL] SELECTした結果をCSVに出力する (SQLPlus)

実践ソースコード-- コマンド非表示 set echo off -- 1行の最大サイズ指定 set linesize 512 -- 0を指定すると、ヘッダー行など余計なものが非表示になる set pagesize 0 -- 右トリムする s...
Oracle

[PL/SQL] トリガーの相関名oldとnewの使い方

概要相関名oldとnewは、トリガーで発動条件としたDML文の変更前、変更後の値を取得、設定したりできます。oldが変更前の値、newが変更後の値になります。oldとnewの参照値oldとnewの値は、DMLの種類によって取得できる場合とで...
Oracle

[PL/SQL] トリガーのFOR EACH ROWについて

概要トリガーのパラメータで使われるFOR EACH ROWについて解説します。このパラメータは、行単位でトリガーの処理を行うか、クエリ文単位でトリガーの処理を行うかの違いになります。 FOR EACH ROWを指定すれば、行単位でトリガーの...
Oracle

[PL/SQL] BEFORE、AFTERでトリガーの起動タイミングを調整

概要トリガーのBEFORE、AFTERが何を表すのかを解説します。これらは、トリガーの処理が、発動条件のイベントの実行前に行われるのか、実行後に行われるのかで区別します。設定概要BEFORE発動条件のイベントの処理前にトリガーの処理を実行す...
Oracle

[PL/SQL] トリガーの基礎

概要トリガーは、なにかのイベントを発動条件とし、処理を実行する機能です。例えば、テーブルにINSERT等のクエリが発生することを条件に、何かしらの処理を行います。実践ソースコードCREATE OR REPLACE TRIGGER trig_...
Oracle

[PL/SQL] ストアドのプロシージャ、ファンクションについて

概要ストアドのプロシージャ、ファンクションとは、Oracle DBに格納して、ユーザーがいつでも呼び出せるようにできる機能のことです。以下画像であれば、FUNC_TESTというファンクションをOracle DBに格納しています。メリットスト...
Oracle

[PL/SQL] SELECT INTOで0件取得の例外処理

概要SELECT INTOを使用して、取得した件数が0件で何も代入できなかった場合に発生するエラーに対して、例外処理を行います。実践ソースコードDECLARE emp_name VARCHAR2(20); BEGIN BEGIN ...
Oracle

[PL/SQL] 例外発生時のエラーメッセージとエラー番号の取得

概要例外発生時に、例外処理を行った際に、エラーメッセージやエラー番号を表示させたい場合の処理について解説します。実践ソースコードDECLARE emp_name VARCHAR2(20); BEGIN BEGIN SELE...