紹介

完了

PostgreSQL ストアド プロシージャと関数は、Azure Database for PostgreSQL の機能を拡張し、クエリをより効率的にすることができます。 このモジュールでは、SQL ストアド プロシージャを作成して呼び出す方法について説明します。 また、関数を作成して使用する方法についても説明します。

このモジュールを完了すると、次のことができるようになります。

  • Azure Database for PostgreSQL でストアド プロシージャを作成します。
  • Azure Database for PostgreSQL でストアド プロシージャを呼び出します。
  • Azure Database for PostgreSQL で関数を作成して使用します。

ストアド プロシージャと関数は、特定の理由でコードが記述され、必要な場所で使用できる点で似ています。 ただし、これらの間には違いがあります。つまり、いずれかを使用する場合があります。

  • 関数は常に 1 つの値、スカラー値、またはテーブルを返します。 ストアド プロシージャは、何も返さなかったり、1 つの値を返したり、複数の値を返したりする場合があります。
  • 関数には、UPDATE や INSERT などの DML (データ操作言語) ステートメントを含めることはできません。 ストアド プロシージャには、任意の DML ステートメントを含めることができます。
  • 関数にはトランザクションを含めることはできませんが、ストアド プロシージャはトランザクションを含めることができます。 この制限は、関数に COMMIT ステートメントまたは ROLLBACK ステートメントを含めることができないことを意味します。
  • 関数はストアド プロシージャ内で使用できます。 関数はストアド プロシージャを呼び出すことはできません。

ストアド プロシージャは PostgreSQL に比較的新しく追加されるのに対し、関数はしばらくの間使用できます。