PL/SQL基礎程式設計之(五)[自定義複合變數][%TYPE和%ROWTYPE的應用]
阿新 • • 發佈:2019-02-11
1、自定義複合變數查詢以及輸出案例: declare TYPE myrecord IS RECORD( aa varchar2(10), bb varchar2(10)); --定義複合變數 record1 myrecord; begin select a1,a2 into record1 from a where a2='mmm'; --將變數賦值 dbms_output.put_line(record1.aa||record1.bb); --查詢輸出的方式 end; / 2、%type應用的案例,與上一個案例不同的地方是將基本型別換成相應表的%type將會自動匹配,如下面案例所示: declare TYPE recorde is record( id emp.eid%type, --利用%type定義複合型資料 [表名].[列名]%type name emp.ename%type, age emp.eage%type ); record1 recorde; begin select eid,ename,eage into record1 from emp where eid='08'; --賦值 dbms_output.put_line('id:'||record1.id); --輸出 dbms_output.put_line('name:'||record1.name); dbms_output.put_line('age:'||record1.age); end; / 3、%rowtype的應用案例,與上一個不同的是,將不用聲明覆合變量的每一個子變數記錄。我們直接用[表名%rowtype]宣告就可以了。如下所示: declare myrec emp%rowtype; --用%rowtype聲明覆合變量 begin select * into myrec from emp where eid='010'; dbms_output.put_line('myrec.eid'||myrec.eid); dbms_output.put_line('myrec.ename'||myrec.ename); dbms_output.put_line('myrec.eage'||myrec.eage); end; /