我在oracle官方文档中找到了以下pl / sql块
DECLARE
CURSOR c1 RETURN departments%ROWTYPE IS
SELECT * FROM departments;
BEGIN
NULL;
END;
我不明白为什么他们使用%ROWTYPE作为返回类型。由于游标用于保存大量数据(在此方案中),并且%ROWTYPE用于记录单个记录或行,因此游标如何返回%rowtype。请提供一个完整的pl / sql块,如上所述,但有一些声明返回上面的光标。
答案 0 :(得分:0)
Rowtype用于表示行的类型,例如。 structure of the returned row.
由于Justin是正确的,游标不包含数据。 They are pointers to SQL statements。
从文档:%ROWTYPE属性提供表示数据库表中的行的记录类型。该记录可以存储从表中选择的整行数据,或者从游标或游标变量中获取的数据。使用%ROWTYPE声明的变量被视为使用数据类型名称声明的变量。您可以将变量声明中的%ROWTYPE属性用作数据类型说明符。