免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1088 | 回复: 0
打印 上一主题 下一主题

[原创]oracle PLSQL INDEX BY Binary_Integer 测试 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-23 01:15 |只看该作者 |倒序浏览
  1. SQL> set serveroutput on size 10000;
  2. SQL>
  3. SQL> DECLARE
  4. 2 TYPE t_list_1 IS TABLE OF VARCHAR2(1024) ; -- 非标号,需要动态初始化,动态extend
  5. 3 TYPE t_list_2 IS TABLE OF VARCHAR2(1024) INDEX BY Binary_Integer; -- 标号数组,不需要动态申请
  6. 4
  7. 5 -- 非标号数组
  8. 6 v_list_11 t_list_1 := t_list_1('11A','11B'); -- 声明时赋初值
  9. 7 v_list_12 t_list_1 ;
  10. 8
  11. 9 -- 标号数组
  12. 10 v_list_21 t_list_2 ;
  13. 11
  14. 12 /* 标号数组声明不能赋初值
  15. 13 v_list_21 t_list_2 := t_list_2('A','B');
  16. 14 */
  17. 15 BEGIN
  18. 16 dbms_output.put_line(v_list_11(1));
  19. 17
  20. 18 /* 报错,需要初始化
  21. 19 v_list_12(1):='1A';
  22. 20 */
  23. 21
  24. 22 -- 初始化
  25. 23 v_list_12 := t_list_1();
  26. 24 v_list_12.extend;
  27. 25 v_list_12(1) :='12A';
  28. 26 dbms_output.put_line(v_list_12(1));
  29. 27
  30. 28 -- 标号数组不需要初始化,下标从1开始
  31. 29 v_list_21(1) :='21A';
  32. 30 dbms_output.put_line(v_list_21(1));
  33. 31 -- 并且可以指定下标赋值
  34. 32 v_list_21(100) :='2100A';
  35. 33 dbms_output.put_line(v_list_21(100));
  36. 34 dbms_output.put_line(v_list_21.count);
  37. 35
  38. 36 END
  39. 37 ;
  40. 38 /
  41. 11A
  42. 12A
  43. 21A
  44. 2100A
  45. 2
  46. PL/SQL procedure successfully completed
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP