SQLストアド プロシージャを使用すると、Teradata Database領域に大規模で複雑なデータベース アプリケーションを作成できます。SQLストアド プロシージャでは、SQL制御文と条件処理文以外にも、次の要素を使用できます。
- 複数の入出力パラメータ。
- ローカル変数とカーソル。
- SQLのDDL文、DCL文、DML文(多少の例外はあるが、動的SQLも含まれる)。
動的SQLとは、ストアド プロシージャ内から実行時にSQL文の作成と実行依頼を行なうことによってSQL文を呼び出す手法のことです。
SQLストアド プロシージャに基づいたアプリケーションには、以下のメリットがあります。
- ストアド プロシージャはサーバー上で実行されるため、クライアント サーバー環境におけるネットワーク トラフィックが削減されます。
- ストアド プロシージャの使用により、ビジネス ルールのカプセル化と実施が可能になり、より優れたアプリケーション保守に役立ちます。
- トランザクション制御に優れています。
- セキュリティが高められます。SQLストアド プロシージャのデータ アクセス句でデータベースへのアクセスを制限できます。
- ユーザーに、データ表ではなくプロシージャに対するアクセス権を付与することによって、より優れたセキュリティを実現します。
- ストアド プロシージャは、アプリケーションによって生成される実行時の状況を処理するための例外処理メカニズムを提供します。
- SQLストアド プロシージャに埋め込まれたすべてのSQL文とSQL制御文は、1つのCALL文の実行依頼によって実行されます。CALL文を入れ子にすることで、汎用性はさらに向上します。