TYPE 和 ROWTYPE 之间的区别
%TYPE
:用于声明与指定表的列类型相同的字段。
DECLARE
vEmployeeName Employee.Name%TYPE;
BEGIN
SELECT Name
INTO vEmployeeName
FROM Employee
WHERE RowNum = 1;
DBMS_OUTPUT.PUT_LINE(vEmployeeName);
END;
/
%ROWTYPE:用于声明与指定表,视图或光标(=多列)中找到的类型相同的记录。
DECLARE
rEmployee Employee%ROWTYPE;
BEGIN
rEmployee.Name := 'Matt';
rEmployee.Age := 31;
DBMS_OUTPUT.PUT_LINE(rEmployee.Name);
DBMS_OUTPUT.PUT_LINE(rEmployee.Age);
END;
/