%ROWTYPE如何为游标返回类型?

时间:2016-09-28 06:52:48

标签: sql oracle cursor

我在oracle官方文档中找到了以下pl / sql块

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

我不明白为什么他们使用%ROWTYPE作为返回类型。由于游标用于保存大量数据(在此方案中),并且%ROWTYPE用于记录单个记录或行,因此游标如何返回%rowtype。请提供一个完整的pl / sql块,如上所述,但有一些声明返回上面的光标。

1 个答案:

答案 0 :(得分:0)

Rowtype用于表示行的类型,例如。 structure of the returned row.

由于Justin是正确的,游标不包含数据。 They are pointers to SQL statements

从文档:%ROWTYPE属性提供表示数据库表中的行的记录类型。该记录可以存储从表中选择的整行数据,或者从游标或游标变量中获取的数据。使用%ROWTYPE声明的变量被视为使用数据类型名称声明的变量。您可以将变量声明中的%ROWTYPE属性用作数据类型说明符。