您好,登錄后才能下訂單哦!
1)顯示定義記錄類型;
declare
--顯示定義一個record類型myrec
type myrec is RECORD (
combine_no VARCHAR2(10),
department_code VARCHAR2(11)
);
-- 聲明一個myrec類型的變量rcd;
rcd myrec;
begin
select nr.combine_no,nr.department_code into rcd from rate_combine_nr nr where nr.combine_no='G600000001';
dbms_output.put_line(rcd.combine_no||'-'||rcd.department_code);
end;
2)有一些PL/SQL指令在使用隱式定義記錄時沒有使用%ROWTYPE屬性,比如游標FOR循環;
declare
cursor mycur is
select * from rate_combine_nr nr where rownum <10;
rcd mycur%rowtype; --這個可以省略;
begin
for rcd in mycur loop
dbms_output.put_line(rcd.combine_no||'-'||rcd.department_code);
end loop;
end;
3)PL/SQL有三種類型的集合
VARRAY集合中的元素的數量是有限,Index_by和嵌套表則是沒有限制的
.)Index_by表
Index_by表集合的定義語法如下:
. TYPE type_name IS TABLE OF element_type [NOT NULL] INDEX BY BINARY_INTERGET;
. 這里面重要的關鍵字是INDEX BY BINARY_INTERGET,沒有這個關鍵字,那么集合將是一個嵌套表;
. 一旦定義了index_by表,就可以向創建其他變量那樣創建index_by表的變量;
.) 嵌套表
嵌套表非常類似于Index_by表,創建的語法也非常相似。使用TYPE語句,只是沒有INDEX BY BINARY_INTEGER子串
TYPE type_name IS TABLE OF element_type [NOT NULL] ;
.)VARRAY
VARRAY或數據變量都有元素的限制。想起他集合一樣VARRAY定義仍然使用TYPE語句,但關鍵字VARRAY或VARRYING
ARRAY告訴ORACLE這 是一個VARRAY集合。
TYPE type_name IS VARRAY (max_size) OF element_type [NOT NULL];
. 下標的取值從1開始;
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。