Oracle PL/SQL 無名ブロックとは?ストアドプロシージャとは?

スポンサーリンク
スポンサーリンク

PL/SQLとは

PL/SQLはSQLを手続き型言語として拡張させてる、オラクル社が提供している言語です。

PL/SQLプログラムの種類

PL/SQLは、ストアド・サブプログラムと無名のPL/SQLプログラム(以下、「無名ブロック」と記載する)とに分類することができます。
ストアド・サブプログラムとはPL/SQLに名前をつけて解析済みの状態でOracleに格納したものをいいます。これに対して無名ブロックは、サーバ(Oracle)にプログラムを格納しないPL/SQLをいいます。

ストアド・サブプログラム

ストアド・サブプログラムは、「スタンドアロン・サブ・プログラム」と「パッケージ・サブプログラム」の2つに分類することができ更に、スタンドアロン・サブプログラムは、「ストアド・プロシージャ」と「ストアド・ファンクション」に分類できます。
実際のプログラムを記述する上では、「ストアド・プロシージャ」と「ストアド・ファンクション」「ストアド・パッケージ」の3つを覚えておけばOKです\(^o^)/

ストアド・サブプログラム

ストアド・プロシージャ

ストアド・プロシージャの作成の構成は、以下のような感じです。

CREATE OR REPLACE PROCEDURE
  <プロシージャ名>
IS
  <宣言部>
BEGIN
  <実行部>
EXCEPTION
  <例外処理部>
END <プロシージャ名>;
/

↓↓↓実装例はこっちに記事書きました。

Oracle PL/SQL 作成例と実行例

ストアド・ファンクション

ストアド・ファンクションの作成の構成は、以下のような感じです。

CREATE OR REPLACE FUNCTION
  <ファンクション名>
RETURN
 <データ型>
IS
  <宣言部>
BEGIN
  <実行部>
 RETURN <戻り値>;
EXCEPTION
  <例外処理部>
END <ファンクション名>;
/

↓↓↓実装例はこっちに記事書きました。

Oracle PL/SQL 作成例と実行例

ストアド・パッケージ

ストアド・パッケージの作成の構成は、以下のような感じです。

~パッケージ仕様部~

CREATE OR REPLACE PACKAGE
  <パッケージ名>
IS
  <仕様部>
END [<パッケージ名>];
/

~パッケージ本体~

CREATE OR REPLACE PACKAGE BODY
  <パッケージ名>
IS
  <本体>
BEGIN
  <実行部>
EXCEPTION
  <例外処理部>
END [<パッケージ名>];
/

↓↓↓実装例はこっちに記事書きました。

Oracle PL/SQL 作成例と実行例

無名ブロック

無名ブロックの作成の構成は、以下のような感じです。

DECLARE
  <宣言部>
BEGIN
  <実行部>
EXCEPTION
  <例外処理部>
END;
/

↓↓↓実装例はこっちに記事書きました。

Oracle PL/SQL 作成例と実行例

コメント

タイトルとURLをコピーしました