ストアドプロシージャの制限事項
このトピックでは、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
」を参照してください。。ストアドプロシージャから結果セットを返す