variable_name table_name%ROWTYPE
用于声明一个变量,该变量能够存储表中一行数据,其字段的数据类型与表的列自动匹配。
声明和使用方式:声明语法为 variable_name table_name%ROWTYPE;
例如 emp_record employees%ROWTYPE;  声明一个可存储 employees 表一行数据的变量 emp_record。
常见用法包括:
SELECT INTO:将查询结果(一行数据)直接赋值给 %ROWTYPE 变量,例如 SELECT * INTO emp_record FROM employees WHERE employee_id = 100;
游标操作:结合游标遍历查询结果,例如 FETCH cursor_name INTO emp_record; 用于逐行读取数据。
数据操作:可直接用于 INSERT 或 UPDATE 语句,例如 INSERT INTO employees VALUES emp_record; 或 UPDATE employees SET ROW = emp_record WHERE ...;
与其他特性对比: %ROWTYPE 与 %TYPE 的区别在于,%TYPE 仅匹配单列数据类型(如 emp_salary employees.salary%TYPE;),而 %ROWTYPE 匹配整行数据结构;当表结构变化时,%ROWTYPE 变量会自动适应列的增减。
注意事项:%ROWTYPE 变量需在PL/SQL块(如匿名块或存储过程)中声明和使用,且字段访问需通过点号引用(如 emp_record.employee_id)。
posted on 2026-01-09 11:02  邢帅杰  阅读(6)  评论(0)    收藏  举报