日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

oracle组合数据类型,oracle复合数据类型-相关方法

發(fā)布時(shí)間:2025/3/8 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle组合数据类型,oracle复合数据类型-相关方法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

oracle提供了一些內(nèi)置的函數(shù)和方法來操作復(fù)合數(shù)據(jù)類型。

一、count 返回集合中的元素的個(gè)數(shù)

declare

type ename_table_type is table of varchar2(20) index by binary_integer ;

ename_table ename_table_type ;

begin

for i in 1..5 loop

ename_table(i):='a'||i ;

end loop ;

dbms_output.put_line('元素個(gè)數(shù):'||ename_table.count) ;

for c in 1..ename_table.count loop

dbms_output.put_line(ename_table(c)) ;

end loop ;

end ;

二、exists 用于確定集合元素是否存在,如果存在則返回true,否則返回false

SQL> declare

2 type ename_table_type is table of varchar2(20);

3 ename_table ename_table_type ;

4 BEGIN

5?????? IF ename_table.exists(1) THEN

6???????????? ename_table(1):='scot' ;

7?????? ELSE

8??????????? dbms_output.put_line('嵌套表使用前要初始化');

9?????? END if ;

10 end;

11 /

嵌套表使用前要初始化

PL/SQL procedure successfully completed

三、first&last first返回集合第一個(gè)元素的下標(biāo),last返回集合最后一個(gè)元素的下標(biāo)。

SQL> DECLARE

2 TYPE ename_varray_type IS table OF varchar2(20) INDEX BY binary_integer;

3 ename_varray ename_varray_type ;

4 BEGIN

5?????? ename_varray(1):='mary' ;

6?????? ename_varray(4):='scott' ;

7?????? ename_varray(5):='tiger' ;

8?????? ename_varray(7):='lucy' ;

9?????? dbms_output.put_line('第一個(gè)元素下標(biāo):'||ename_varray.first);

10?????? dbms_output.put_line('最后個(gè)元素下標(biāo):'||ename_varray.last);

11 end ;

12 /

第一個(gè)元素下標(biāo):1

最后個(gè)元素下標(biāo):7

PL/SQL procedure successfully completed

四、prior&next prior返回當(dāng)前元素前一個(gè)元素的下標(biāo),next返回當(dāng)前元素下一下元素的下標(biāo)

SQL> DECLARE

2 TYPE ename_varray_type IS table OF varchar2(20) INDEX BY binary_integer;

3 ename_varray ename_varray_type ;

4 BEGIN

5?????? ename_varray(1):='mary' ;

6?????? ename_varray(4):='scott' ;

7?????? ename_varray(5):='tiger' ;

8?????? ename_varray(7):='lucy' ;

9?????? dbms_output.put_line('元素5的前一個(gè)元素下標(biāo):'||ename_varray.prior(5));

10?????? dbms_output.put_line('元素5的后一個(gè)元素下標(biāo):'||ename_varray.next(5));

11 end ;

12 /

元素5的前一個(gè)元素下標(biāo):4

元素5的后一個(gè)元素下標(biāo):7

PL/SQL procedure successfully completed

五、delete

DECLARE

TYPE ename_varray_type IS table OF varchar2(20) INDEX BY binary_integer;

ename_varray ename_varray_type ;

BEGIN

ename_varray(1):='mary' ;

ename_varray(4):='scott' ;

ename_varray(5):='tiger' ;

ename_varray(6):='lucy' ;

ename_varray(7):='LILI' ;

ename_varray(8):='join' ;

ename_varray(9):='wzj' ;

FOR c IN 1..ename_varray.count LOOP

IF ename_varray.exists(c) then

dbms_output.put_line('下標(biāo)為'||c||'的值為:'||ename_varray(c));

END IF ;

END loop ;

ename_varray.delete(5);

dbms_output.put_line('刪除下標(biāo)為5的元素之后');

FOR c IN 1..ename_varray.count LOOP

IF ename_varray.exists(c) then

dbms_output.put_line('下標(biāo)為'||c||'的值為:'||ename_varray(c));

END IF ;

END loop ;

ename_varray.delete(8,9);

dbms_output.put_line('刪除下標(biāo)為8,9的元素之后');

FOR c IN 1..ename_varray.count LOOP

IF ename_varray.exists(c) then

dbms_output.put_line('下標(biāo)為'||c||'的值為:'||ename_varray(c));

END IF ;

END loop ;

end ;

delete刪除所有元素,delete(n)刪除下標(biāo)為n的元素,delete(m,n)刪除下標(biāo)元素在[m,n]中的元素。

六、extend?? 只用于嵌套表和變長(zhǎng)數(shù)組,用來擴(kuò)展元素個(gè)數(shù)

SQL> DECLARE

2 TYPE ename_varray_type IS varray(10) OF varchar2(20);

3 ename_varray ename_varray_type :=ename_varray_type('');

4 BEGIN

5????? FOR c IN 1..9 LOOp

6????????? ename_varray(c):='a'||c ;

7????????? ename_varray.extend ;

8????? END LOOP ;

9????? FOR c IN 1..ename_varray.count LOOP

10???????? dbms_output.put_line('下標(biāo)為'||c||'的元素為:'||ename_varray(c));

11????? END LOOP ;

12 end ;

13 /

下標(biāo)為1的元素為:a1

下標(biāo)為2的元素為:a2

下標(biāo)為3的元素為:a3

下標(biāo)為4的元素為:a4

下標(biāo)為5的元素為:a5

下標(biāo)為6的元素為:a6

下標(biāo)為7的元素為:a7

下標(biāo)為8的元素為:a8

下標(biāo)為9的元素為:a9

下標(biāo)為10的元素為:

PL/SQL procedure successfully completed

總結(jié)

以上是生活随笔為你收集整理的oracle组合数据类型,oracle复合数据类型-相关方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。