はじめに

完了

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 の比較的新しい追加機能ですが、関数はしばらく前から使用できています。