ストアドプロシージャサポートに関する考慮事項 - Amazon Redshift

ストアドプロシージャサポートに関する考慮事項

Amazon Redshift のストアドプロシージャを使用する場合は、以下の考慮事項が適用されます。

Amazon Redshift および PostgreSQL のストアドプロシージャサポートに関する違い

Amazon Redshift および PostgreSQL 間のストアドプロシージャサポートの違いは以下のとおりです。

  • Amazon Redshift はサブトランザクションをサポートしていないため、例外処理ブロックに対するサポートは制限されます。

考慮事項と制限

Amazon Redshift のストアドプロシージャに対する考慮事項は以下のとおりです。

  • データベースのストアドプロシージャの最大数は 10,000 です。

  • プロシージャのソースコードの最大サイズは 2 MB です。

  • ユーザーセッションで同時に開くことができる明示的および暗黙的なカーソルの最大数は 1 です。SQL ステートメントの結果セットを反復処理する FOR ロープは、暗黙的なカーソルを開きます。ネストされたカーソルはサポートされていません。

  • 明示的および暗黙的なカーソルには、結果セットのサイズについて Amazon Redshift の標準カーソルと同じ制限が適用されます。詳細については、「カーソルの制約」を参照してください。

  • ネストされた呼び出しの最大レベル数は 16 です。

  • プロシージャパラメータの最大数は、入力引数の場合は 32、出力引数の場合は 32 です。

  • ストアドプロシージャの変数の最大数は 1,024 です。

  • 独自のトランザクションコンテキストを必要とするすべての SQL コマンドは、ストアドプロシージャ内でサポートされていません。その例を以下に示します。

    • PREPARE

    • データベースの作成/削除

    • CREATE EXTERNAL TABLE

    • VACUUM

    • ローカルに設定

    • ALTER TABLE APPEND

  • Java Database Connectivity (JDBC) ドライバー経由の registerOutParameter メソッド呼び出しは、refcursor データ型ではサポートされていません。データ型の使用例については、「refcursor」を参照してください。。結果セットを返す