-----------------------------------------使用复合数据类型------------------------------------ --pl/sql记录 1:自定义pl/sql记录、使用%rowtype属性定义记录变量 declare type emp_record_type is record( name emp.ename%type, salary emp.sal%type, title emp.job%type ); emp_record emp_record_type; begin select ename,sal,job into emp_record from emp where empno=&no; dbms_output.put_line('姓名'||emp_record.name); dbms_output.put_line('岗位'||emp_record.title); dbms_output.put_line('工资'||emp_record.salary); end; / select * from emp 2:在insert语句中使用pl/sql记录 2.1:使用变量 declare emp_record emp%rowtype; begin emp_record.ename :='sam'; emp_record.job :='manager'; emp_record.deptno :=30; insert into emp values emp_record; end; 2.2:使用记录成员 declare emp_record emp%rowtype; begin emp_record.empno :=1118; emp_record.ename :='jay'; insert into emp(empno,ename) values(emp_record.empno,emp_record.ename); end; 3:在update语句中使用pl/sql记录 3.1:使用记录变量 declare emp_record emp%rowtype; begin emp_record.empno :=1119; emp_record.ename :='jodon'; update emp set row = emp_record where deptno=&no; end; 3.2:使用记录成员 declare emp_record emp%rowtype; begin emp_record.ename :='wang'; update emp set ename = emp_record.ename where empno=1118; end; 4:在delete语句中使用pl/sql记录 只能使用记录成员 declare emp_record emp%rowtype; begin emp_record.ename :='wang'; delete from emp where ename = emp_record.ename; end; --pl/sql集合