PIPE
ROW
文はパイプライン・テーブル・ファンクションの本体内でのみ使用できます。この文はファンクションの起動元に表の行を戻します(制御は戻しません)。
注意:
パイプライン・テーブル・ファンクションが自律型トランザクションの一部である場合、コール元のサブプログラムでエラーが発生しないように、各PIPE
ROW
文の前にCOMMIT
またはROLLBACK
を実行する必要があります。
パフォーマンスを向上させるために、PL/SQLランタイム・システムでは、パイプ化された行が起動元にバッチで送信されます。
ここでのトピック
構文
pipe_row_statement ::=
セマンティクス
pipe_row_statement
row
ファンクションによって起動元に戻される行(表の要素)。表の要素の型を持つ式で表現します。
式がレコード変数の場合は、表の要素のデータ型を使用して明示的に宣言する必要があります。要素型と構造的にのみ一致するデータ型を使用して宣言することはできません。たとえば、要素型に名前が付いている場合は、%TYPE
または%ROWTYPE
を使用して明示的にレコード変数を宣言することや、カーソルFOR
LOOP
文内の%ROWTYPE
を使用して暗黙的にレコード変数を宣言することはできません。
例