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...
Oracle

[PL/SQL] SELECT INTO 複数行のエラー処理

概要SELECT INTOで、複数行の取得で「ORA-01422: 完全フェッチがリクエストよりも多くの行を戻しました」のエラーが起きた場合の例外処理のやり方について、解説します。例外処理のやり方ソースコードDECLARE emp_nam...
Oracle

[PL/SQL] カーソルの基礎

カーソルの概要カーソルは、SELECTした結果を1行ずつ読み込むために、使います。カーソルの使い方ソースコードDECLARE CURSOR emp_cur IS SELECT empid, name, age FROM emp; ...
Oracle

PL/SQL学習サイト 基礎から応用を大まかに解説

入門基礎 PL/SQLとは 概要について カーソルの基礎 SELECT INTO 複数行のエラー処理 SELECT INTOで0件取得の例外処理 例外発生時のエラーメッセージとエラー番号の取得 ストアドのプロシージャ、ファンクションについて...
Oracle

[PL/SQL] PL/SQLとは 概要について

PL/SQLとは?PL/SQLは、Oracleで扱う手続き型言語で、SQLを拡張してFOR文やIF文などを使えるようにしたものです。構造DECLARE 宣言部BEGIN   実行部EXCEPTION ...