2016-09-28 8 views
1

私は、彼らが戻り値の型として%のROWTYPEを使用しない理由私は理解していないオラクルの公式ドキュメントに%ROWTYPEはどのようにカーソルの型wokを返しますか?

DECLARE 
CURSOR c1 RETURN departments%ROWTYPE IS 
SELECT * FROM departments; 
BEGIN 
NULL; 
END; 

を次のPL/SQLブロックを発見しました。大量のデータを保持するためにカーソルが使用されるので(このシナリオでは)、%ROWTYPEは単一のレコードまたは行をフェッチするために使用され、カーソルは%rowtypeをどのように戻します。上記のように完全なpl/sqlブロックを提供してください。ただし、上記のカーソルを返すような記述が必要です。

+1

これを確認してください。 [リンク](http://stackoverflow.com/a/16135422/2244720) – hemalp108

+0

カーソルにはデータが含まれていません。これらは、データの次の行を取得するために実行できるクエリへのポインタです。私はあなたが "上記のカーソルを返すステートメント"という意味を理解していません。あなたはカーソルを返す関数を求めていますか? –

答えて

0

行のタイプを表すために使用される行タイプ。 structure of the returned row.

ジャスティンが正しいので、カーソルにはデータが含まれていません。 They are pointers to SQL statements

docsから:%ROWTYPE属性は、データベーステーブルの行を表すレコードタイプを提供します。レコードは、テーブルから選択されたデータの行全体を格納したり、カーソルまたはカーソル変数から取り出したりすることができます。 %ROWTYPEを使用して宣言された変数は、データ型名を使用して宣言された変数と同様に扱われます。変数宣言で%ROWTYPE属性をデータ型指定子として使用できます。

関連する問題