如图,举个例子说明:
type test_table is table of varchar2(10) index by binary_integer;
instance_table test_table;
v_test1 varchar2(20);
v_test2 varchar2(20);
begin
instance_table(1) := 'first';
instance_table(2) := 'first';
v_test1 := instance_table(1);
v_test2 := instance_table; ?? --这里instance_table要怎么用?
......
请问,变量instance_table除了可以这样来引用instance_table(1) := '***';
其本身代表什么,instance_table ??
type test_table is table of varchar2(10) index by binary_integer;
instance_table test_table;
v_test1 varchar2(20);
v_test2 varchar2(20);
begin
instance_table(1) := 'first';
instance_table(2) := 'first';
v_test1 := instance_table(1);
v_test2 := instance_table; ?? --这里instance_table要怎么用?
......
请问,变量instance_table除了可以这样来引用instance_table(1) := '***';
其本身代表什么,instance_table ??
test_table就相当于varchar2(10)[]instance_table test_table;
定义test_table类型的变量这样定义后,instance_table就是一个可变长的一维数组了
刚开始instance_table.count=0
当你
instance_table(1) := 'first';
instance_table(2) := 'first'; 这样一个个赋值后instance_table.count会动态增加,从而标志数组长度大致就这样了,至于你程序中提到的那句,按逻辑应该是这样的:
v_test2 := instance_table(2);
说道类似c语言中的数组类型,那么在c中,定义好的一个数组,比如int int_array = {1,1,1,1,1}
是不是 int_array = int_array[0] = 1 呢,如果是这样
那么,我想知道oracle中的test_table = test_table[0] 吗?或者其他什么意思?