PL/SQL类的应用
类的定义
直接声明字段类型‘VARCHAR2或NUMBER等’
declare
type kingsql_tp1 is record(empno number,ename varchar2(100));
var_A kingsql_tp1;
begin
select empno,ename into var_A from emp where empno=7900;
dbms_output.put_line(var_A.empno||'''s name is'||var_A.ename);
end;
/
7900's name isJAMES
PL/SQL procedure successfully completed.
Record类代表一行记录 不能输出多行
用表的字段类型‘表名。字段名%TYPE’
declare
type kingsql_tp1 is record(empno emp.empno%type,ename emp.ename%type);
var_A kingsql_tp1;
begin
select empno,ename into var_A from emp where empno=7900;
dbms_output.put_line(var_A.empno||'''s name is'||var_A.ename);
end;
/
将表的全字段类型直接赋予变量 ‘表名%ROWTYPE’
declare
var_A emp%rowtype;
begin
select * into var_A from emp;
dbms_output.put_line(var_A.empno||'''s name is '||var_A.ename);
dbms_output.put_line(var_A.ename||'''s salary is '||var_A.sal);
end;