浅谈oracle复合数据类型.doc

浅谈oracle复合数据类型.doc

ID:59352286

大小:42.00 KB

页数:6页

时间:2020-09-04

浅谈oracle复合数据类型.doc_第1页
浅谈oracle复合数据类型.doc_第2页
浅谈oracle复合数据类型.doc_第3页
浅谈oracle复合数据类型.doc_第4页
浅谈oracle复合数据类型.doc_第5页
资源描述:

《浅谈oracle复合数据类型.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、浅谈oracle复合数据类型--本文档可以直接拷贝运行。/*oracle复合数据类型PL/SQL有两种复合数据结构:记录和集合。记录由不同的域组成,集合由不同的元素组成。*//*一、记录类型类似C语言中的结构,有两种定义方式:显式定义和隐式定义。*/createtabletest(idvarchar2(20),mcvarchar2(60));insertintotestvalues('111','11111');insertintotestvalues('222','22222');insertintotestvalues('333','33333'

2、);insertintotestvalues('444','44444');insertintotestvalues('555','55555');insertintotestvalues('666','66666');commit;/*1.1、显示定义记录*/setserveroutondeclaretypet_recordisrecord(idtest.id%type,mctest.mc%type);var_recordt_record;counternumberdefault0;begin    forrow_testin(selectid,m

3、cfromtest)loop        counter:=counter+1;        var_record.id:=row_test.id;        var_record.mc:=row_test.mc;        dbms_output.put_line('var_record:'

4、

5、var_record.id

6、

7、'---'

8、

9、var_record.mc);        dbms_output.put_line('row_test:'

10、

11、row_test.id

12、

13、'---'

14、

15、row_test.mc);        dbm

16、s_output.put_line('================loop'

17、

18、counter

19、

20、'times.');    endloop;    exceptionwhenothersthen        dbms_output.put_line(sqlcode

21、

22、sqlerrm);end;//*有一些PL/SQL指令在使用隐式定义记录时没有使用%ROWTYPE属性,比如游标FOR循环或触发器中的ld和:new记录。*//*1.2、隐式定义记录*/隐式定义记录中,我们不用描述记录的每一个域,在声明记录变量时使用%ROWTYPE命令定义与数据

23、库表,视图,游标有相同结构的记录。declaret_record1test%rowtype;cursorcur_test(v_idinvarchar2)isselectid,mcfromtestwhereid<=v_id;t_record2cur_test%rowtype;begin    forrow_testincur_test('333')loop        t_record1.id:=row_test.id;        t_record1.mc:=row_test.mc;        t_record2.id:=row_test.i

24、d;        t_record2.mc:=row_test.id;        dbms_output.put_line('t_record1:'

25、

26、t_record1.id

27、

28、'---'

29、

30、t_record1.mc);        dbms_output.put_line('t_record2:'

31、

32、t_record2.id

33、

34、'---'

35、

36、t_record2.mc);        dbms_output.put_line('row_test:'

37、

38、row_test.id

39、

40、'---'

41、

42、row_test.mc);        dbm

43、s_output.put_line('================loop'

44、

45、cur_test%rowcount

46、

47、'times.');    endloop;    exceptionwhenothersthen        dbms_output.put_line(sqlcode

48、

49、sqlerrm);end;//*二、集合类似C语言中的数组,在ORACLE7.3及以前的版本中只有一种集合称为PL/SQL表,这种类型的集合依然保留,就是索引(INDEX_BY)表。PL/SQL有三种类型的集合a、Index_by表;b、嵌套表;c、VARRA

50、Y三种类型的集合之间的差异,包括数据绑定、稀疏性(sparsity)、数据库中的存储能力都有不相同。数据绑定

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。