`

Oracle中index by binary_integer的作用

阅读更多
如语句:type  numbers  is table of number index by binary_integer;其作用是,加了”index by binary_integer ”后,numbers类型的下标就是自增长,numbers类型在插入元素时,不需要初始化,不需要每次extend增加一个空间。

  而如果没有这句话“index by binary_integer”,那就得要显示对初始化,且每插入一个元素到numbers类型的table中时,都需要先extend.

  示例:

  没加“index by binary_integer”时:

  declare

  type numbers is table of number;

  n    numbers := numbers();

  begin

  n.extend;

  n(1) := 2;

  n.extend;

  n(2) := 3;

  for i in1 .. n.count loop

  dbms_output.put_line(n(i));

  end loop;

  end;

  输出:2,3

  而如果加了“index by binary_integer”,代码如下写就可以达到上面的效果

  declare

  type numbers is table of number index by binary_integer;

  n numbers;

  begin

  n(1) := 2;

  n(2) := 3;

  for i in1 .. n.count loop

  dbms_output.put_line(n(i));

  end loop;

  end;

分享到:
评论

相关推荐

    oracle集合index-by表

    在Oracle PL/SQL中,`INDEX BY`表是一种特殊类型的关联数组或哈希表,允许通过整数索引(通常为`BINARY_INTEGER`类型)来访问元素。这种类型的表非常适用于存储具有唯一键的数据集,并且在某些情况下比传统数组更...

    oracle数组实现

    - **定义类型**: `type v_table is table of varchar2(30) index by binary_integer;` 定义了一个名为 `v_table` 的类型,它是一个通过BINARY_INTEGER索引的VARCHAR2(30)类型的表。 - **初始化数组**: `my_table v_...

    Oracle Array定义

    type str_array is table of varchar2(10) index by binary_integer; my_array str_array := str_array('Hello', 'World'); BEGIN --... END; ``` 3. **访问数组元素**: - 使用数组名后跟方括号`[]`来访问...

    oracle存储过程_函数_语法_大全_详解

    TYPE TestArray IS TABLE OF Info INDEX BY BINARY_INTEGER; END myPackage; CREATE OR REPLACE PROCEDURE test (varArray IN myPackage.TestArray) AS i NUMBER; BEGIN i := 1; FOR i IN 1 .. varArray.COUNT ...

    ORACLE数组使用方法

    declare type v_table is table of varchar2(30) index by binary_integer; my_table v_table; 在上面的代码中,我们首先声明了一个可变数组类型 `v_table`,它可以存储任意数量的字符串元素。然后,我们创建了一个...

    Oracle 20071025_PLSQLTuning.pdf

    TYPE t_type IS TABLE OF table_name%ROWTYPE INDEX BY PLS_INTEGER; l_rows t_type; BEGIN SELECT * BULK COLLECT INTO l_rows FROM table_name WHERE condition; END; ``` #### 表函数和管道化表函数 表函数和...

    Oracle数组的使用

    TYPE my_text_table_type IS TABLE OF VARCHAR2(200) INDEX BY BINARY_INTEGER; l_text_table my_text_table_type; l_index NUMBER; BEGIN FOR emp_rec IN (SELECT * FROM emp) LOOP l_text_table(emp_rec....

    oracle数组

    type type_array is table of varchar2(20) index by binary_integer; var_array type_array; begin var_array(1) := 'aa'; var_array(2) := 'bb'; for i in 1..var_array.count loop dbms_output.put_line...

    oracle学习笔记

    5. **PL/SQL中的INDEX BY TABLE**:在Oracle的PL/SQL块中,可以创建索引数组,比如`type numbers is table of number index by binary_integer;`这样的声明定义了一个可以动态扩展的数组,其中的下标由二进制整数...

    PLSQL高级编程资料

    TYPE yang_tab IS TABLE OF yang_rec INDEX BY BINARY_INTEGER; -- 定义索引表对象的实例 test_tab yang_tab; BEGIN -- 插入操作示例 test_tab(1) := (ename => '张三', eid => 101); END; ``` **1.1.2 将条目...

    Oracle P/L SQL实现FTP上传、下载功能

    Type File_List is Table of VarChar2(32767) Index by Binary_Integer; is_FTPStatus VarChar2(800) := 'disconnect'; is_FTPPort Constant Integer := 21; is_TransferMethod Constant VarChar2...

    数组和导入导出PPT学习教案.pptx

    在Oracle中,数组主要分为固定数组(VARRAY)和可变数组(INDEX BY)两种类型。 **固定数组(VARRAY)**: 固定数组在声明时需要指定数组的大小,例如在示例中,我们看到一个类型ar定义为包含15个varchar2类型的...

    Java调用oracle函数返回oracle类(类似)集合

    type sqlindext is table of varchar2(20) index by binary_integer; end plsql_ret_type; ``` 2. **创建Oracle函数返回索引表**: 在PL/SQL中,你可以定义一个函数,使其返回上述索引表类型。下面的`funtry_...

    Oracle脚本变量使用示例

    type emp_array is table of emp%rowtype index by binary_integer; emp_list emp_array; BEGIN ... END; ``` 这样,你可以像操作数组一样处理多个员工记录。 5. **变量作用域** 在PL/SQL块中,变量的作用域仅...

    oracle数组定义与使用.pdf

    - 可变长度的一维数组:使用`TABLE`关键字,如`type type_array is table of varchar2(20) index by binary_integer`,表示一个可变长度的数组,其中元素是长度不超过20的字符串,索引由符号整数(binary_integer)...

    Oracle实现发送邮件

    TYPE ADDRESS_LIST IS TABLE OF VARCHAR2(100) INDEX BY BINARY_INTEGER; MY_ADDRESS_LIST ADDRESS_LIST; TYPE ACCT_LIST IS TABLE OF VARCHAR2(100) INDEX BY BINARY_INTEGER; MY_ACCT_LIST ACCT_LIST; ``` ##### ...

    Oracle最大日期获取方法

    本文将提供这样一个获取方法,需要的朋友可以参考下Sql代码 代码如下: — Created on 2010/06/08 by NAN declare — Local variables here TYPE t_test IS TABLE OF DATE INDEX BY BINARY_INTEGER; v_test t_test; v...

    Oracle集合类型输出参数的PLSQL存储过程及其Java调用.doc

    type out_index_table_typ is table of varchar2(50) index by binary_integer; end out_param; ``` - 存储过程的创建:之后在存储过程中引用这个包中的索引表类型,如: ```sql create or replace procedure ...

Global site tag (gtag.js) - Google Analytics