type TValue = record
(
  Name varchar2(100),
  Value Long
)c_Mapping constant TValue := 这里后面应该怎么写呢?

解决方案 »

  1.   

    --多维数组
    DECLARETYPE emp_type IS RECORD
    ( emp_id employee_table.emp_id%TYPE,
    emp_name employee_table.emp_name%TYPE,
    emp_gender employee_table.emp_gender%TYPE );TYPE emp_type_array IS TABLE OF emp_type INDEX BY BINARY_INTEGER;emp_rec_array emp_type_array;
    emp_rec emp_type;BEGIN
    emp_rec.emp_id := 300000000;
    emp_rec.emp_name := 'Barbara';
    emp_rec.emp_gender := 'Female';emp_rec_array(1) := emp_rec;emp_rec.emp_id := 300000008;
    emp_rec.emp_name := 'Rick';
    emp_rec.emp_gender := 'Male';emp_rec_array(2) := emp_rec;FOR i IN 1..emp_rec_array.count LOOP
    DBMS_OUTPUT.PUT_LINE('i='||i
    ||', emp_id ='||emp_rec_array(i).emp_id
    ||', emp_name ='||emp_rec_array(i).emp_name
    ||', emp_gender = '||emp_rec_array(i).emp_gender);
    END LOOP;END;
      

  2.   

    虽然可以在BODY的初始化那里进行初始化赋值,但是这只是给变量初始化,而不是定义常量。常量定义是必须在声明的时候同时赋值的。
      

  3.   

    TYPE emp_type IS RECORD 是变量 不是常量
      

  4.   

    看书的过程中没有见过初始化常量的方式可能ORACLE里有 可我还没接触到吧
      

  5.   

    先定义个一个type is table of TValue,然后在定义这个数组的常量有关table(oracle数组的用法)可以参考
    http://blog.csdn.net/inthirties/archive/2009/08/03/4400905.aspx
      

  6.   

    record类型的常量还真不知道怎么定义
    关注下
      

  7.   

    试试 
    c_Mapping constant TValue := TValue('name','long')
      

  8.   

    楼上的写法不行,继续求助ing