淺談oracle複合資料型別 (1)
--本文件可以直接複製執行。
/*
oracle複合資料型別
PL/SQL有兩種複合資料結構:記錄和集合。記錄由不同的域組成,集合由不同的元素組成。
*/
/*
一、記錄型別
類似C語言中的結構,有兩種定義方式:顯式定義和隱式定義。
*/
create table test
(
id varchar2(20),
mc varchar2(60)
);
insert into test values('111','11111');
insert into test values('222','22222');
insert into test values('333','33333');
insert into test values('444','44444');
insert into test values('555','55555');
insert into test values('666','66666');
commit;
/*
1.1、顯示定義記錄
*/
set serverout on
declare
type t_record is record
(
id test.id%type,
mc test.mc%type
);
var_record t_record;
counter number default 0;
begin
for row_test in (select id,mc from test) loop
counter := counter + 1;
var_record.id := row_test.id;
var_record.mc := row_test.mc;
dbms_output.put_line('var_record:'||var_record.id||'---'||var_record.mc);
dbms_output.put_line('row_test:'||row_test.id||'---'||row_test.mc);
dbms_output.put_line('================loop '||counter||' times.');
end loop;
exception when others then
dbms_output.put_line(sqlcode||sqlerrm);
end;
/
/*有一些PL/SQL指令在使用隱式定義記錄時沒有使用%ROWTYPE屬性,比如遊標FOR迴圈或觸發器中的:old和:new記錄。*/
/*
1.2、隱式定義記錄
*/
隱式定義記錄中,我們不用描述記錄的每一個域,在宣告記錄變數時使用%ROWTYPE命令定義與資料庫表,檢視,遊標有相同結構的記錄。
declare
t_record1 test%rowtype;
cursor cur_test(v_id in varchar2) is
select id,mc from test
where id <= v_id;
t_record2 cur_test%rowtype;
begin
for row_test in cur_test('333') loop
t_record1.id := row_test.id;
t_record1.mc := row_test.mc;
t_record2.id := row_test.id;
t_record2.mc := row_test.id;
dbms_output.put_line('t_record1:'||t_record1.id||'---'||t_record1.mc);
dbms_output.put_line('t_record2:'||t_record2.id||'---'||t_record2.mc);
dbms_output.put_line('row_test:'||row_test.id||'---'||row_test.mc);
dbms_output.put_line('================loop '||cur_test%rowcount||' times.');
end loop;
exception when others then
dbms_output.put_line(sqlcode||sqlerrm);
end;
/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/18921899/viewspace-1017064/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 淺談oracle複合資料型別Oracle資料型別
- 淺談oracle複合資料型別 (2)Oracle資料型別
- oracle-複合資料型別Oracle資料型別
- Solidity-變數和資料型別[複合型別_1]Solid變數資料型別
- PL/SQL複合資料型別SQL資料型別
- 複合資料型別和遊標資料型別
- 淺談C#中的資料型別轉換與物件複製C#資料型別物件
- PLSQL學習-【4複合資料型別】SQL資料型別
- Day 7.5 資料型別總結 + 複製 淺複製 深複製資料型別
- Oracle基本資料型別儲存格式淺析——RAW型別Oracle資料型別
- [Redis] 淺談Redis內的幾種資料型別Redis資料型別
- 第 10 節:複合型別 1:陣列型別陣列
- 檢視錶中複合資料型別內容資料型別
- Oracle基本資料型別儲存格式淺析(五)——RAW型別Oracle資料型別
- 淺談手機遊戲複合型創新和自動化戰鬥遊戲
- Oracle基本資料型別儲存格式淺析(四)——ROWID型別Oracle資料型別
- Oracle基本資料型別儲存格式淺析(三)——日期型別(一)Oracle資料型別
- Oracle基本資料型別儲存格式淺析(三)——日期型別(二)Oracle資料型別
- Oracle基本資料型別儲存格式淺析(三)——日期型別(三)Oracle資料型別
- Oracle基本資料型別儲存格式淺析(三)——日期型別(四)Oracle資料型別
- 全面探討PL/SQL的複合資料型別(轉)SQL資料型別
- 組合資料型別資料型別
- 複合型別(json)型別JSON
- Oracle基本資料型別儲存格式淺析[zt]Oracle資料型別
- 談談Java基礎資料型別Java資料型別
- 淺談PHP弱型別安全PHP型別
- Oracle資料型別Oracle資料型別
- Oracle 資料型別Oracle資料型別
- Scala結構型別與複合型別解析型別
- Oracle基本資料型別儲存格式淺析(二)——數字型別Oracle資料型別
- 談談JavaScript中常見的資料型別JavaScript資料型別
- 淺談JavaScript的型別轉換JavaScript型別
- Oracle Xmltype型別淺析OracleXML型別
- Oracle資料型別對應Java型別Oracle資料型別Java
- 【轉】ORACLE資料型別Oracle資料型別
- Oracle anydata資料型別Oracle資料型別
- ORACLE NUMBER資料型別Oracle資料型別
- [轉]oracle資料型別Oracle資料型別