Oracle

Oracle

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

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

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

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

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

実践 ソースコード -- コマンド非表示 set echo off -- 1行の最大サイズ指定 set linesize 512 -- 0を指定すると、ヘッダー行など余計なものが非表示になる set pagesize...
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 REPL...
Oracle

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

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

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

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

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

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