Problem in creating a nested table

Hi i am working on Oracle 10g and cleint is sqlplus.
Now while creating a nested table following error occured.
This is the script for your reference.:
CREATE OR REPLACE TYPE sec_pwd_hist_table
AS
TABLE OF sec_pwd_history_type
index by binary_integer
Warning: Type created with compilation errors.
SQL> show error
Errors for TYPE SEC_PWD_HIST_TABLE:
LINE/COL ERROR
0/0      PL/SQL: Compilation unit analysis terminated
3/1      PLS-00355: use of pl/sql table not allowed in this context
Please help on this issue
Regards,
Vikas Kumar

> but i want to know just one thing why its working when i am removing "INDEX BY binaty_integer"
Vikas, I trust I answered that question when I said? :
"Do not confuse the two. Do not attempt to use PL/SQL array struct definition syntax in the SQL engine for defining an ADT collection. Which is why I referred you to the manual to see how an ADT is defined in SQL."
In other words, you are trying to apply a PL/SQL concept and PL/SQL syntax to a definition of a data type in SQL.
SQL is not PL/SQL.
SQL ADTs are not PL/SQL arrays/tables.
It is not even a syntax issue - it is a basic concept issue. SQL does not support PL/SQL arrays/tables. Period.

Similar Messages

  • Problems with Whitespace using nested tables from eclipse dtp oracle plugin

    Hi,
    sending from eclipse to oracle xe fails if whitespace is used:
    Example1: Nested table in nested table
    adress_table_typ has another nested table in it
    that works
    CREATE TABLE x (
    i INTEGER PRIMARY KEY,
    adressen adress_table_typ
    ) NESTED TABLE adressen STORE AS adressen_nt (NESTED TABLE tels STORE AS tels_nt);
    inserting a newline fails
    CREATE TABLE x (
    i INTEGER PRIMARY KEY,
    adressen adress_table_typ
    ) NESTED TABLE adressen STORE AS adressen_nt
    (NESTED TABLE tels STORE AS tels_nt);
    Example2:
    Two nested tables
    CREATE TABLE x (
    i INT PRIMARY KEY,
    l_table_typ,
    m_table_typ
    ) NESTED TABLE laptops STORE AS laptop_nt NESTED TABLE interessen STORE AS interessen_nt;
    and then an insert
    INSERT INTO x VALUES (123456,
    l_typ(laptop_typ('123', 'netop'),
    laptop_typ('234', 'thinkpad'),     
    laptop_typ('345', 'iBook')),
    m_typ('a', 'b', 'c')
    which fails. Note that the INSERT works when copy&pasted to sqlplus. It also works if there is
    just one nested table.
    Am I doing somethig wrong or is this a bug in the eclipse data tools plugin?
    Regards
    - Peter
    PS; It is rather difficult to insert whitespace in that forum editor. Any possibility to have ascii?
    For a "whitespace" question rather important...

    A bit of an update on the original post. I was playing around with the plug-in xml file (e.g. eclipse\plugins\org.eclipse.jst.server.generic.oc4j_1.5.100.v20070608\buildfiles\oracle.10.1.3.xml). I changed the following from "deploy" to "redeploy" and it seems to be working once the applicatoin is initial deployed. Of course, I have to change it back to "deploy" if it is the first time the application is being deployed. However; I would still would like to resolve this if there is something out there that fixes this problem. Or if everything points to an enviornment problem, I can continue to play with it.
    <target name="deploy.j2ee.ear" depends="check.skip.ear.deploy" unless="skip.deploy">
    <antcall target="package.module.ear"/>
    <oracle:redeploy
    deployerUri="${deployer.uri}"
    userId="${oc4j.admin.user}"
    password="${oc4j.admin.password}"
    file="${server.publish.dir}/${module.name}.ear"
    deploymentName="${module.name}"
    bindAllWebApps="${oc4j.bind.website}"/>
    </target>

  • Problem in creation of Nested Table

    Hi Everyone,
    I have applied thisexample for creating nested tables but at the end I got the message of invalid datatype
    current_address full_mailing_address_type,
    ERROR at line 4:
    ORA-00902: invalid datatype
    http://www.praetoriate.com/oracle_tips_nested_tables.htm
    Please help me out.....
    Message was edited by:
    Dharmendra

    What is the output for
    select * from user_types
    ?

  • Object Modelling Question: How do I create multiple nested table columns in one table

    Hi there,
    I have a XML doc which is as follows:
    <PERSON>
    <ADDRESSLIST>
    <ADDRESS>111, Hamilton Ave </ADDRESS>
    <ADDRESS>222, Cambell Ave </ADDRESS>
    </ADDRESSLIST>
    <PHONELIST>
    <PHONENO>4085551212 </PHONENO>
    <PHONENO>6505551212</PHONENO>
    </PHONELIST>
    </PERSON>
    I need a table that looks as follows:
    Create table person
    (addresslist address_table,
    phonelist phone_table
    I would like to create a table called person with columns addresslist and phonelist. Each defined as object type table of address and table of phones.
    Can anybody please tell me how can I do this.
    I have seen that there can only be one nested table per table. If so, how do we do this.
    Thanks so much
    Pramod

    pelle.k wrote:
    peets wrote:Hehe because it's less typing!
    Good one!
    Also, it's by far the more dynamic method.
    If you want to get pedantic, it's also far less efficient in terms of execution time: each iteration of the loop forks a new process, whereas using a single mkdir command forks only once.  The "best" way is the curly-braces method demonstrated above by chimeric.

  • Problem while creating a z-table

    Hi Experts,
    when i created a z-table i am getting warnig message like
    "enhancement Category for table missing" what does it mean ? hoe to resolve that?..But the table was activated..
    Regards
    Ravi.

    Hi,
    goto se11, menu - Extras - "Enhancement Category".
    and select one of the categories.
    By this way you restrict how your structure/table could be appended.
    Its only in the upgraded versions of SAP ie. >4.7.
    Please reward...if this answer helps you.
    Thanks & Regards,
    Anjali

  • Problem in Creating Pricing Condition Table...

    Friends,
    I am creating a condition table.
    i selected perticular fields (S.org, D.ch, Div, So-to-Party,Mat)
    When i click on Generate Icon
    I Got error message:
    Customer Object VKOS A505 cannot be assigned to package

    Hello,
    Which is the number you have given for your table?
    The best way is to search for the table which is having most of these fields and copy that table to a new table. When you create table give a table number after 900 and copy from another table. After this you can add/delete the fields and generate the table.
    Prase

  • Problem with Create global temporary table command

    Hi,
    Following is the query i am using in one of my pl/sql report..
    EXECUTE IMMEDIATE 'CREATE GLOBAL TEMPORARY TABLE Billing_Report_Table ON COMMIT PRESERVE ROWS as select * from (Vc_Sql_Statement)';
    Error message i am getting when i run the report is "missing SELECT keyword"
    The variable Vc_Sql_statement contains a complex query retrieving data from different tables.
    Please help me out.
    Thanks in advance
    Shanthi

    Hi,
    SCOTT@soti_9> DECLARE
      2    Vc_Sql_Statement VARCHAR2(30) := 'DUAL';
      3  BEGIN
      4    EXECUTE IMMEDIATE
      5      'CREATE GLOBAL TEMPORARY TABLE Billing_Report_Table ON COMMIT PRESERVE ROWS AS ' ||
      6      ' select * from ' || Vc_Sql_Statement;
      7  END;
      8  /
    PL/SQL procedure successfully completed.
    SCOTT@soti_9> select * from Billing_Report_Table;
    D
    XRegards,
    Dima

  • Problem creating an nested table.

    Hi,
    I try to create a type of mytable%rowtype:
    create type test_type is table of mytable%rowtype;
    The response is:
    Type created with compile errors. (<- free translation from german ;)
    Creating a table of varchar2(100) works as expected.
    Is this a license restriction of XE or am I just too stupid for this?
    Thanks in advance.
    Thomas

    As far as I know this limitation is not an XE limitation, you can check for the other editions also.
    %TYPE and %ROWTYPE can be used within PL/SQL, not SQL.
    DECLARE
         TYPE Cust_tab IS TABLE OF                        
              Customers_Active%ROWTYPE;
         Custs   Cust_tab;
    BEGIN
         SELECT Customer_Account_Id, Effective_Date,
                   Expired_Date
               BULK COLLECT INTO Custs
         FROM Customers_Active;
    END;
    DECLARE
       emprec    employees_temp%ROWTYPE;
    BEGIN
       emprec.empid := NULL; 
       emprec.deptid := 50;
       DBMS_OUTPUT.PUT_LINE('emprec.deptname: ' || emprec.deptname);
    END;
    /

  • Problem while creating MS-ACCESS tables from Internal tables

    Hi All,
    I need to create Access tables from the Internal tables of an ABAP program.
    I am using RIACCESS program to create Access table and  FM TABLE_EXPORT_TO_MSACCESS for populating the records into Access table.
    Internal table name is ITAB1. I have created Z table with the same number of fields of ITAB1.
    Key fields of Ztable is MANDT and Project ID.
    I have two problems.
    1. When I am trying to create access table from RIACCESS, the Access table is not having the MANDT and Project ID as key fields. Is there any way to pass the Internal table with key fields to the selection parameter of RIACCESS?
    2. How to avoid the MANDT field from the Access table.
    Please help me.
    Thanks,
    Prabhakar

    select * from tablo@aaa;
    ERROR at line 1:
    ORA-02085: database link AAA.US.ORACLE.COM connects to HO.WORLD
    Why is it unsuccessful?
    02085, 00000, "database link %s connects to %s"
    // *Cause: a database link connected to a database with a different name.
    //  The connection is rejected.
    // *Action: create a database link with the same name as the database it
    //  connects to, or set global_names=false.
    //Maybe a configuration mismatch somewhere? What's your global_names setting?
    you should look in the trace files, enable listenner logging and tracing to get more clues about EOF error.
    Yoann.

  • How to create a nested table

    i want the syntax that by i can create a table in a cell of another table and how to select data from the parent table

    http://www.psoug.org/reference/nested_tab.html

  • Problem in creating dynamic internal table

    Hi Experts,
    I am trying creating a dynamic internal table.
    But I am getting the error 'The field string "LT_GENTAB" contains no fields. 4 LT_GENTAB".
    Can anybody tell me what is the error and how to solve it.
    Thanks,
    Sudheer

    Hi,
    Please find the below code.
    data : wa_fieldcat type slis_fieldcat_alv,
           wa_fieldcat1 type slis_fieldcat_alv,
           wa_fieldcat2 type LVC_S_FCAT,
           it_fieldcat type slis_t_fieldcat_alv,
           it_fieldcat1 type slis_t_fieldcat_alv,
           it_fieldcat2 type LVC_T_FCAT,
           V_LAYOUT TYPE SLIS_LAYOUT_ALV,
           LS_LVC_FIELDCATALOGUE  TYPE LVC_S_FCAT,
           LT_LVC_FIELDCATALOGUE  TYPE LVC_T_FCAT,
           IT_EVENTS TYPE SLIS_T_EVENT,
           WA_EVENTS TYPE SLIS_ALV_EVENT.
    data : L_TABLE    TYPE REF TO DATA.
    FIELD-SYMBOLS :  <IT_TABLE>    TYPE STANDARD TABLE.
    FIELD-SYMBOLS :  <IT_ITEM1>    TYPE STANDARD TABLE.
    v_col = 1.
    WA_FIELDCAT2-COL_POS = v_col.
    WA_FIELDCAT2-FIELDNAME = 'PRUEFLOS'.
    wa_fieldcat2-seltext   = 'Inspection Lot'.
    WA_FIELDCAT2-OUTPUTLEN   = 20.
    v_col = v_col + 1.
    APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.
    CLEAR  WA_FIELDCAT2.
    WA_FIELDCAT2-COL_POS = v_col.
    WA_FIELDCAT2-FIELDNAME = 'WERKS'.
    wa_fieldcat2-seltext   = 'Plant'.
    WA_FIELDCAT2-OUTPUTLEN   = 20.
    v_col = v_col + 1.
    APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.
    CLEAR  WA_FIELDCAT2.
    WA_FIELDCAT2-COL_POS = v_col.
    WA_FIELDCAT2-FIELDNAME = 'ART'.
    wa_fieldcat2-seltext   = 'Inspection Type'.
    WA_FIELDCAT2-OUTPUTLEN   = 20.
    v_col = v_col + 1.
    APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.
    CLEAR  WA_FIELDCAT2.
    WA_FIELDCAT2-COL_POS = v_col.
    WA_FIELDCAT2-FIELDNAME = 'HERKUNFT'.
    wa_fieldcat2-seltext   = 'Lot Origin'.
    WA_FIELDCAT1-OUTPUTLEN   = 20.
    v_col = v_col + 1.
    APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.
    CLEAR  WA_FIELDCAT2.
    WA_FIELDCAT2-COL_POS = v_col.
    WA_FIELDCAT2-FIELDNAME = 'STAT35'.
    wa_fieldcat2-seltext   = 'Usage Decision Made'.
    WA_FIELDCAT2-OUTPUTLEN   = 20.
    v_col = v_col + 1.
    APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.
    CLEAR  WA_FIELDCAT2.
    WA_FIELDCAT2-COL_POS = v_col.
    WA_FIELDCAT2-FIELDNAME = 'ENSTEHDAT'.
    wa_fieldcat2-seltext   = 'Lot created on'.
    WA_FIELDCAT2-OUTPUTLEN   = 20.
    v_col = v_col + 1.
    APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.
    CLEAR  WA_FIELDCAT2.
    WA_FIELDCAT2-COL_POS = v_col.
    WA_FIELDCAT2-FIELDNAME = 'ERSTELLER'.
    wa_fieldcat2-seltext   = 'Created by'.
    WA_FIELDCAT2-OUTPUTLEN   = 20.
    v_col = v_col + 1.
    APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.
    CLEAR  WA_FIELDCAT2.
    WA_FIELDCAT2-COL_POS = v_col.
    WA_FIELDCAT2-FIELDNAME = 'PASTRTERM'.
    wa_fieldcat2-seltext   = 'Insp. Start Date'.
    WA_FIELDCAT2-OUTPUTLEN   = 20.
    v_col = v_col + 1.
    APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.
    CLEAR  WA_FIELDCAT2.
    WA_FIELDCAT2-COL_POS = v_col.
    WA_FIELDCAT2-FIELDNAME = 'PAENDTERM'.
    wa_fieldcat2-seltext   = 'End of Inspection'.
    WA_FIELDCAT2-OUTPUTLEN   = 20.
    v_col = v_col + 1.
    APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.
    CLEAR  WA_FIELDCAT2.
    WA_FIELDCAT2-COL_POS = v_col.
    WA_FIELDCAT2-FIELDNAME = 'PLNTY'.
    wa_fieldcat2-seltext   = 'Task List Type'.
    WA_FIELDCAT2-OUTPUTLEN   = 20.
    v_col = v_col + 1.
    APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.
    CLEAR  WA_FIELDCAT2.
    WA_FIELDCAT2-COL_POS = v_col.
    WA_FIELDCAT2-FIELDNAME = 'AUFNR'.
    wa_fieldcat2-seltext   = 'Order No.'.
    WA_FIELDCAT2-OUTPUTLEN   = 20.
    v_col = v_col + 1.
    APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.
    CLEAR  WA_FIELDCAT2.
    WA_FIELDCAT2-COL_POS = v_col.
    WA_FIELDCAT2-FIELDNAME = 'KTEXTMAT'.
    wa_fieldcat2-seltext   = 'Object short text'.
    WA_FIELDCAT2-OUTPUTLEN   = 20.
    v_col = v_col + 1.
    APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.
    CLEAR  WA_FIELDCAT2.
    WA_FIELDCAT2-COL_POS = v_col.
    WA_FIELDCAT2-FIELDNAME = 'KURZTEXT'.
    wa_fieldcat2-seltext   = 'Short Text for Code'.
    WA_FIELDCAT2-OUTPUTLEN   = 20.
    v_col = v_col + 1.
    APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.
    CLEAR  WA_FIELDCAT2.
    WA_FIELDCAT2-COL_POS = v_col.
    WA_FIELDCAT2-FIELDNAME = 'KATALGART1'.
    wa_fieldcat2-seltext   = 'Catalog Type'.
    WA_FIELDCAT2-OUTPUTLEN   = 20.
    v_col = v_col + 1.
    APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.
    CLEAR  WA_FIELDCAT2.
    WA_FIELDCAT2-COL_POS = v_col.
    WA_FIELDCAT2-FIELDNAME = 'GRUPPE1'.
    wa_fieldcat2-seltext   = 'Code Group'.
    WA_FIELDCAT2-OUTPUTLEN   = 20.
    v_col = v_col + 1.
    APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.
    CLEAR  WA_FIELDCAT2.
    WA_FIELDCAT2-COL_POS = v_col.
    WA_FIELDCAT2-FIELDNAME = 'CODE1'.
    wa_fieldcat2-seltext   = 'Code'.
    WA_FIELDCAT2-OUTPUTLEN   = 20.
    v_col = v_col + 1.
    APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.
    CLEAR  WA_FIELDCAT2.
    *WA_FIELDCAT2-COL_POS = v_col.
    *WA_FIELDCAT2-FIELDNAME = 'ORIGINAL_INPUT'.
    *WA_FIELDCAT2-SELTEXT_M   = 'Original Value'.
    **WA_FIELDCAT2-OUTPUTLEN   = 20.
    *v_col = v_col + 1.
    *APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.
    *CLEAR  WA_FIELDCAT2.
    loop at it_qamv1 into wa_qamv1.
      read table it_qasr into wa_qasr with key wa_qamv1-prueflos.
    WA_FIELDCAT2-COL_POS = v_col.
    WA_FIELDCAT2-FIELDNAME = wa_qamv-kurztext.
    wa_fieldcat2-seltext   = wa_qasr-original_input.
    WA_FIELDCAT2-OUTPUTLEN   = 20.
    v_col = v_col + 1.
    APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.
    CLEAR  WA_FIELDCAT2.
    endloop.
    WA_FIELDCAT2-COL_POS = v_col.
    WA_FIELDCAT2-FIELDNAME = 'EQUNR'.
    wa_fieldcat2-seltext   = 'Equipment'.
    WA_FIELDCAT2-OUTPUTLEN   = 20.
    v_col = v_col + 1.
    APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.
    CLEAR  WA_FIELDCAT2.
    WA_FIELDCAT2-COL_POS = v_col.
    WA_FIELDCAT2-FIELDNAME = 'TPLNR'.
    wa_fieldcat2-seltext   = 'Functional Location'.
    WA_FIELDCAT2-OUTPUTLEN   = 20.
    v_col = v_col + 1.
    APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.
    CLEAR  WA_FIELDCAT2.
    WA_FIELDCAT2-COL_POS = v_col.
    WA_FIELDCAT2-FIELDNAME = 'TPLMA'.
    wa_fieldcat2-seltext   = 'Superior Funct Loc.'.
    WA_FIELDCAT2-OUTPUTLEN   = 20.
    v_col = v_col + 1.
    APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.
    CLEAR  WA_FIELDCAT2.
    WA_FIELDCAT2-COL_POS = v_col.
    WA_FIELDCAT2-FIELDNAME = 'STATUS'.
    wa_fieldcat2-seltext   = 'Status'.
    WA_FIELDCAT2-OUTPUTLEN   = 20.
    v_col = v_col + 1.
    APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.
    CLEAR  WA_FIELDCAT2.
    WA_FIELDCAT2-COL_POS = v_col.
    WA_FIELDCAT2-FIELDNAME = 'INACT'.
    wa_fieldcat2-seltext   = 'Status Inactive'.
    WA_FIELDCAT2-OUTPUTLEN   = 20.
    v_col = v_col + 1.
    APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.
    CLEAR  WA_FIELDCAT2.
    Create internal table dynamic
      CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE
        EXPORTING
          IT_FIELDCATALOG = LT_LVC_FIELDCATALOGUE
        IMPORTING
          EP_TABLE        = L_TABLE.
      ASSIGN L_TABLE->* TO <IT_TABLE>.
    I am getting the error when the method  CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE
    is executed.
    Please help me
    Thanks,
    Sudheer

  • Error while create trigger on for nested table

    I want to insert a record into a nested table.For this, I created a view for the table, which includes the nested table.It told me ORA-25015 cannot perform DML on this nested table view column.So I created a trigger for the nested table.However, it told me that ORA-25010 Invalid nested table column name in nested table clause.I think my nested table is valid, i don't konw why did it appear this kind of problem?
    My table is
    CREATE TABLE ENT
    ID NUMBER(7) NOT NULL,
    CREATE_DATE VARCHAR2(11 BYTE),
    UPDATE_DATE VARCHAR2(11 BYTE),
    DEPTS VARRAY_DEPT_SEQ
    CREATE OR REPLACE
    TYPE DEPT AS OBJECT
    ID NUMBER(8),
    ANCHOR VARCHAR2(20),
    CREATE OR REPLACE
    TYPE " VARRAY_DEPT_SEQ" as varray(930) of DEPT
    CREATE OR REPLACE VIEW ENT_NESTED_VIEW
    (ID, CREATE_DATE, UPDATE_DATE, DEPTS)
    AS
    select e.ID,cast(multiset(select r.id,r.anchor from ent z, table(z.depts) r where z.ID=e.ID )as varray_dept_seq)
    FROM ENT e
    Then when I created trigger;
    CREATE OR REPLACE TRIGGER EMP.ENT_NESTED_TRI
    INSTEAD OF INSERT
    ON NESTED TABLE DEPTS OF EMP.ENT_NESTED_VIEW
    REFERENCING NEW AS New OLD AS Old PARENT AS Parent
    FOR EACH ROW
    BEGIN
    END ;
    I met the problem: ORA-25010 Invalid nested table column name in nested table clause
    Could you please tell me the reason
    Thank you!
    My insert SQL is:
    insert into table(select depts from ent_nested_view where id=1856) values(varray_dept_seq(dept(255687,'AF58743')))
    Message was edited by:
    user589751

    Hi,TongucY
    Compared with the "Referencing Clause with Nested Tables" part of this reference -
    http://psoug.org/reference/instead_of_trigger.html, I found the answer of this
    quesion. That is "CREATE OR REPLACE TYPE " VARRAY_DEPT_SEQ" as[b] varray(930) of
    DEPT". It turns to be a varying array, not a nested table. It should be "CREATE OR
    REPLACE TYPE " VARRAY_DEPT_SEQ" as table of DEPT". That is OK. Thank you very
    much!
    While there is an another question, if I create a varying array like" CREATE OR
    REPLACE TYPE " VARRAY_DEPT_SEQ" as[b] varray(930) of DEPT " and I want to insert
    a record into the varying array, which the record has been existed.The method that
    create a view and a trigger seems not to be effective.
    For instance,
    There is a record in the table
    ID:1020
    CREATE_DATE:2005-10-20
    UPDATE_DATE:2007-2-11
    DETPS: ((10225,AMY))
    I want to ask this record to be
    ID:1020
    CREATE_DATE:2005-10-20
    UPDATE_DATE:2007-2-11
    DETPS: ((10225,AMY),(10558,TOM))
    How should I do?
    Could you please help me?
    Best regards.
    Message was edited by:
    user589751

  • Problem in using Nested TABLE

    Hi ,
    I created 2 Nested Table & tried to insert the data in Table through Procedure but it gave an err msg.
    create type name as object
    (fname varchar2(20),
    mname varchar2(20),
    lname varchar2(20));
    create type address as object
    (city varchar2(20),
    state varchar2(20),
    pin varchar2(20));
    create type ename as table of name;
    create type eaddress as table of address;
    create table emp_rec
    (employee_id varchar2(5),
    employee_name ename,
    employee_address eaddress)
    nested table employee_name store as empname,
    nested table employee_address store as empaddress;
    insert into emp_rec
    values('1',
    ename(name('anand','kumar','chouksey')),
    eaddress(address('vashi','mh','400093')));
    //Data Inserted
    //Procedure for Inserting Another Data Works
    create or replace procedure nest_proc
    is
    begin
    insert into
    the
    (select employee_address from emp_rec where employee_id=1 ) e
    values('jbp','mp','482002');
    --where employee_id=1;
    end;
    begin
    nest_proc;
    end;
    PL/SQL procedure successfully completed.
    //But if i'll try to insert the data into 2 nested tables then gets failed.
    create or replace procedure nest_proc
    is
    begin
    insert all into
    the
    (select employee_name,employee_address from emp_rec where employee_id=1 ) e
    values('x','y','z');
    into the(select employee_address from emp_rec where employee_id=1 ) e
    values('a','b','c');
    --where employee_id=1;
    end;
    Kindly help me out.
    Rgrds,
    Anand

    Hi,
    Thanks for replying ,actually i did the mistake. I'm using multitable insert stmt. on 2 different tables that's why it gave an err msg.Instead of using multitable insert stmts i used 2 insert stmt. on Procedure & it gets compiled.
    Regards,
    Anand

  • Problem to create multiple rows in adf table.

    Hi All,
    i am using jdev version 11.1.1.5.0. i have facing very strange problem to create row on table.
    In my use case i have create row on table under loop statement. so no of rows created based on loop condition. each time on loop we supply diffrenet value for column like subpkgid,sno but row created with same value.
    code is following-
        public void createRowOptHdr()
                  boolean flag=false;
                ViewObject reqhdrvo= getService().getView("StmReqhdrView1Iterator");
               Row reqhdrrow= reqhdrvo.getCurrentRow();
                ViewObject pkglist= getService().getView("PkgListOptHdr1Iterator");         
               ViewObject tskcdvo= getService().getView("GetTskSubtskCd1Iterator");
                System.out.println("Subtype===>"+reqhdrrow.getAttribute("Subtype"));          
                tskcdvo.setNamedWhereClauseParam("stype",reqhdrrow.getAttribute("Subtype"));
                Row tskrow=tskcdvo.first();
                int count =pkglist.getRowCount();
                ViewObject opthdr= getService().getView("StmOpthdrView2Iterator");
                           opthdr.executeQuery();
                Row optrow=null;
                Row pkgrow=null;
                for(int i=1;i<=count;i++)
                    if(i==1)
                    pkgrow=pkglist.first();
                    else
                        pkgrow=pkglist.next();
                    if(pkgrow.getAttribute("Mark")!=null)
                 flag=(Boolean)pkgrow.getAttribute("Mark");
                    else
                        flag=false;
                    if(flag)
                        optrow = opthdr.createRow();  
            optrow.setAttribute("Reqdt",reqhdrrow.getAttribute("Reqdt"));
            System.out.println("Pkg Id====>"+pkgrow.getAttribute("Id"));
            String id=(String)pkgrow.getAttribute("Id");
            System.out.println("id val==>"+id);
            optrow.setAttribute("Pkgid",reqhdrrow.getAttribute("V_Pkgid"));
            optrow.setAttribute("Subid",id);
            optrow.setAttribute("Sno",opthdr.getRowCount());
            optrow.setAttribute("ReqStatus","WAIT");
            optrow.setAttribute("LHier",reqhdrrow.getAttribute("LHier"));
            optrow.setAttribute("Subtype",reqhdrrow.getAttribute("Lanweb"));
            optrow.setAttribute("Divn",reqhdrrow.getAttribute("Divn"));
            optrow.setAttribute("Status","Y");
            optrow.setAttribute("TaskCd",tskrow.getAttribute("TaskCd"));
            optrow.setAttribute("SubtaskCd",tskrow.getAttribute("SubtaskCd"));
            opthdr.insertRow(optrow);
            try
            optrow.validate();
            catch(Exception e)
                System.out.println("Error to validate opt hdr row===>"+e);
            //opthdr.executeQuery();
                } i have called this method on a button click so no of row selected on pkglist vo same no of row created. and these row are different pkgid but when i again select some row from pkglist and click on button thease row created with same sno ,subpkgid as first row.

    Have you used the debugger and dropped through the code?
    Have you checked that opthdr.getRowCount() returns a different value each time?
    Using the method isn't optimal as it will iterate over the towards each time. Next you'll get duplicate numbers if more then one user works with the application and end up clicking the button. You should use a sequence for this.
    Timo

  • Reg: Querying Nested table.

    Hi,
    I am facing a problem with querying the Nested table.
    I have created a type
    CREATE OR REPLACE TYPE TY_BOOKS OBJECT(           VC_BOOK_NAME VARCHAR2(64)          );
    CREATE OR REPLACE TYPE NT_TY_BOOKS AS TABLE OF TY_BOOKS;
    I have used this nested table in a table Student.
    CREATE TABLE STUDENT
    ( SID NUMBER(10),
    CL_NT_BOOKS NT_TY_BOOKS)
    NESTED TABLE CL_NT_BOOKS STORE AS CL_NT_BOOKS_TAB;
    The problem is one student can have more than one book. So if I need to select the students who have 'Science' books, i wrote this query.
    SELECT S.SID,B.VC_BOOK_NAME FROM STUDENT S, TABLE(CL_NT_BOOKS) B WHERE B.VC_BOOK_NAME='Science';
    suppose in the table
    SID BOOK_NAME
    1000          CL_NT_BOOKS('Science')
    1001          CL_NT_BOOKS('Maths'),CL_NT_BOOKS('Science')
    This query will return only those student-ids who have only "Science" book not those student-ids who have "Maths" & "Science" books.
    RESULT
    1000          Science
    but not 1001....
    Please can any one send me the select query which can select iteratively for books names which contains more than one value.

    Hmm, mysterious. It works for me on my 9.2.0.6 dB...
    SQL> CREATE OR REPLACE TYPE TY_BOOKS AS  OBJECT( VC_BOOK_NAME VARCHAR2(64) );
      2  /
    Type created.
    SQL> CREATE OR REPLACE TYPE NT_TY_BOOKS AS TABLE OF TY_BOOKS;
      2  /
    Type created.
    SQL> CREATE TABLE STUDENT
      2  ( SID NUMBER(10),
      3  CL_NT_BOOKS NT_TY_BOOKS)
      4  NESTED TABLE CL_NT_BOOKS STORE AS CL_NT_BOOKS_TAB;
    Table created.
    SQL> INSERT INTO student VALUES (1000, NT_TY_BOOKS(TY_BOOKS('Science')))
      2  /
    1 row created.
    SQL> INSERT INTO student VALUES (1001, NT_TY_BOOKS(TY_BOOKS('Science'),TY_BOOKS('Maths')))
      2  /
    1 row created.
    SQL>
    SQL> SELECT S.SID,B.VC_BOOK_NAME FROM STUDENT S, TABLE(CL_NT_BOOKS) B
      2  WHERE B.VC_BOOK_NAME='Science'
      3  /
           SID VC_BOOK_NAME
          1000 Science
          1001 Science
    SQL> What I suggest is most likely to have happened is that you have added a space or some other non-printing cahracter into the book name when you inserted row 1001. If this is not the case then you'll have to do it again in SQL*Plus, cut teh output and paste it here, so we can see what's going on.
    Cheers, APC

Maybe you are looking for