Chinaunix首页 | 论坛 | 博客
  • 博客访问: 187415
  • 博文数量: 18
  • 博客积分: 543
  • 博客等级: 下士
  • 技术积分: 265
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-31 16:06
文章分类

全部博文(18)

文章存档

2013年(2)

2012年(3)

2011年(13)

分类: Oracle

2011-09-28 11:12: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
阅读(4735) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~