SDO_LRS. LRS_INTERSECTION returns ORA-13331: invalid LRS segment

I was experimenting with the LRS_INTERSECTION function by running

Select SDO_LRS. () LRS_INTERSECTION
sdo_geometry (3302, 8307, null, sdo_elem_info_array (1,2,1), sdo_ordinate_array (- 79, 37, 38, null, 0, - 80 - 79, 39, null,-80, 48, 100));
sdo_geometry (3302, 8307, null, sdo_elem_info_array (1,2,1), sdo_ordinate_array (- 79, 39, 40, null, 0, - 80 - 80, 38, null,-79, 37, 100));
20
)
of the double

I get the following error:

ORA-13331: invalid LRS segment
ORA-06512: at the 'MDSYS. SDO_LRS", line 8496
13331 00000 - 'invalid LRS segment.

Somehow, I don't see what is not valid on either LRS geometries that I spent in the function. Curiously, if I change the last coordinate of the latitude of the first argument of geometry from 48 'to 40', I get no error. The problem is that I really want to calculate the intersection of geometry exactly as shown above. Does anyone have any ideas why SDO_LRS. LRS_INTERSECTION considers either the geometry of the values of parameter not valid?

Hello lowlyscrub,

You have discovered a 'feature' of LRS_INTERSECTION which is kind of a bummer in my opinion. The LRS specifying allows only valid geometries LRS consists of a single string, a multiple string, or a point. If happen you by the whims of your intersection receive in return a different set of geometries, then the LRS result is invalid and you get this error message. To see what I mean, the simplest method is to run your query, even using the good old SDO_INTERSECTION instead.

Your intersection returns a collection of a linestring and point. Thus, this collection is not valid LRS and thus the error. Oracle Spatial people have said that this is normal. I think I asked that they better document this "feature" just now. LRS_INTERSECTION is a relatively new feature that came to 10.2.0.3 I think. Its main selling point was that it preserves the line intersected strings management. Before that, I used a wrapper utility SDO_INTERSECTION which then tested the results later and everything fixed at the back of the line channels and removed all the stray points. LRS_INTERSECTION is faster than my former utility. So what I'm doing now is I have a wrapper that submits entries to LRS_INTERSECTION, intercepts all 13331 errors and if he catches that he then submits the same entries in the old utility.

I have indeed encourage you to put in a few comments through Oracle support on the issue. It would be nice to have a switch on LRS_INTERSECTION which could in turn allow these geometries LRS 'bad' for the correction by the user or that the utility itself remove these stray points.

See you soon,.

Paul

Tags: Database

Similar Questions

  • ORA-22907: invalid CAST to a type that is not a nested table or VARRAY. Typed collection function

    Hello

    I tried to create a function that might return the type that is created on the outside.

    So I wrote script below. until the function created it compiled successfully, but after that, when the data querying, we encountered error,

    "ORA-22907: invalid CAST to a type that is not a nested table or VARRAY.

    SQL> create table emp
      2  (
      3    ename        varchar2(200 byte),
      4    mgr          number,
      5    employee_id  number
      6  );
    
    
    Table created.
    
    
    SQL> insert into emp (ename, mgr, employee_id)
      2       values ('king', 12, 1);
    
    
    1 row created.
    
    
    SQL> insert into emp (ename, mgr, employee_id)
      2       values ('clark', 12, 2);
    
    
    1 row created.
    
    
    SQL> commit;
    
    
    Commit complete.
    
    
    SQL> create or replace type t_emp as object (ename varchar2 (200), mgr number, employee_id number);
      2  /
    
    
    Type created.
    
    
    SQL> create or replace function f_emp return  t_emp
      2   is
      3  type rc_emp is ref cursor;
      4  r_emp rc_emp;
      5  v_emp t_emp;
      6  begin
      7   open r_emp for select * from emp where rownum=1;
      8   fetch r_emp into v_emp;
      9  close r_emp;
     10  return v_emp;
     11  exception
     12      when others then
     13      dbms_output.put_line(dbms_utility.format_error_stack);
     14      dbms_output.put_line(dbms_utility.format_call_stack);
     15      dbms_output.put_line(dbms_utility.format_error_backtrace);
     16      raise_application_error(-20001,sqlerrm);
     17  end;
     18  /
    
    
    Function created.
    
    
    SQL> show errors;
    No errors.
    SQL> select * from f_emp;
    select * from f_emp
                  *
    ERROR at line 1:
    ORA-04044: procedure, function, package, or type is not allowed here
    
    
    
    
    SQL> select * from table(cast (f_emp as t_emp));
    select * from table(cast (f_emp as t_emp))
                              *
    ERROR at line 1:
    ORA-22907: invalid CAST to a type that is not a nested table or VARRAY
    
    
    
    
    SQL>
    

    Like this:

    ...

    CREATE or REPLACE TYPE t_emp_array IS TABLE OF THE t_emp;

    /

    FUNCTION to CREATE or REPLACE f_emp RETURN t_emp_array

    is

    type rc_emp is ref cursor;

    r_emp rc_emp;

    v_emp_array t_emp_array: = t_emp_array();

    BEGIN

    R_emp OPEN for SELECT t_emp(ename,mgr,employee_id) FROM emp WHERE ROWNUM = 1;

    collect the fetch r_emp in bulk in v_emp_array;

    CLOSE R_emp;

    Return v_emp_array;

    exception

    while others then

    dbms_output.put_line (dbms_utility.format_error_stack);

    dbms_output.put_line (dbms_utility.format_call_stack);

    dbms_output.put_line (dbms_utility.format_error_backtrace);

    raise_application_error (-20001, SQLERRM);

    end;

    /

    SELECT *.

    table (f_emp ());

    a table function works with a table (nested table or varray)

    HTH

  • ORA-01722: invalid number calculation error during the treatment.

    My version of the APEX is Application Express 4.2.6.00.03

    I imported apex application 4.0.2 and his object of decision-making support in my apex.

    Its installed successfully.

    But when I try to run this application it show me this error:

    ORA-01722: invalid number calculation error during the treatment.

    Thank you guys for your help.

    I found the solution.

    There was a problem in the authentication scheme.

    I called function as return function_name in 4.0.2

    but in the Apex 4.2.6 to call a function word return is not necessary.

    He was throwing the error caused that Word back.

  • ORA 00904: invalid identifier "JAN".

    Hello

    I have the rest of the table.

    ===========================================

    create table ATT_ATTENDANCESHEET as

    (

    Select 1 empid, to_date('21/01/2014','dd/mm/yyyy') prdate, 240 reg, 0 unpaid all double union

    Select 2, to_date (January 21, 2014 ', ' dd/mm/yyyy'), 200 reg, 0 unpaid all double union

    Select 3, to_date (January 21, 2014 ', ' dd/mm/yyyy'), 240 reg, 0 unpaid all double union

    Select option 4, to_date (January 21, 2014 ', ' dd/mm/yyyy'), 480 reg, 0 unpaid all double union

    Select 5, to_date (January 21, 2014 ', ' dd/mm/yyyy'), 240 reg, unpaid double 0

    );

    =================================================

    I want to remove rows from table ATT_ATTENDANCESHEET.

    If the parameter passed empids, lines for employees would be eliminated.

    If empids is null, all records between the given period will be deleted.

    I created after the procedure to that effect.

    ------------------------------------------------------

    CREATE or replace FUNCTION deleteAttendanceDetails (startdate DATE, enddate DATE, empids varchar2) RETURN NUMBER as


    n number;

    condition varchar2 (200);

    vsql varchar2 (2000);

    BEGIN

    IF empids is not null

    THEN

    condition: condition = |' and empid in ('| empids |') ' ;

    END IF;

    vsql: =' delete from ATT_ATTENDANCESHEET where prdate between ' | StartDate | 'and' | EndDate | condition;

    EXECUTE IMMEDIATE (vsql);

    return n;

    END;

    /

    The empids parameter contains the employee IDS separated by commas.

    for example

    "1,2,3,4"

    -----------------------------------------------------------

    But when I call this function using

    Select deleteAttendanceDetails (to_date('25/01/2014','dd/mm/yyyy'), to_date (' 01/31/2014 ',' dd/mm/yyyy'), ") double;

    I get the following error

    ORA 00904: invalid identifier "JAN".

    ORA-06512: at.. .line 21

    I use oracle 10g.

    Help, please

    Do not use dynamic sql. It's more trouble that it's worth.

    Your error comes from the fact that you convert a date to a string, implicitly and then come back.

    In addition, your example doesn't have a field of prddate... so I added that, in my test table so that it works.

    Try something like that, entirely avoid dynamic sql:

    CREATE or replace FUNCTION deleteAttendanceDetails (
                                  startdate DATE,
                                  enddate DATE,
                                  empids varchar2
                               )
       RETURN NUMBER
    as
       n number;
    BEGIN
       delete from ATT_ATTENDANCESHEET
          where ( empid IS NULL
                OR empid in ( select regexp_substr ( empids, '[^,]+', 1, level) empid
                             from dual connect by level <= (LENGTH(empids) - LENGTH(REPLACE(empids, ',')) + 1)
                          )
                )
            and prdate between nvl(startdate, to_date('01-jan-1900','dd-mon-yyyy'))
                           and nvl(enddate  , to_date('01-jan-5000','dd-mon-yyyy'));
    
      return n;  -- what is "n" ?
    END;
    /
    

    Not really sure what you want to do with "n"... you have nothing in your code... so I did the same

  • ORA-00911: invalid character in SQL dynamic

    I think I need another set of eyes. I do not see the invalid character in this dynamically generated SQL statement:

    INSERT INTO source_arc
    select v.*, sysdate, 'archived'
    from source v
    where v.id IN  ( SELECT *
                             FROM TABLE( SELECT
                                    CAST(str2tbl( 1,2,4 )
                                                 AS myTableType
                                       )
                                         FROM
                                              dual ));
    

    Here is the complete configuration:

    create or replace type myTableType as table of number;
    /
    
    
    create or replace function str2tbl( p_str in varchar2 ) return myTableType
     as
         l_str   varchar2(32767) default p_str || ',';
         l_n        number;
         l_data    myTableType := myTabletype();
     begin
         loop
             l_n := instr( l_str, ',' );
             exit when (nvl(l_n,0) = 0);
             l_data.extend;
             l_data( l_data.count ) := trim(substr(l_str,1,l_n-1));
             l_str := substr( l_str, l_n+1 );
         end loop;
         return l_data;
     end str2tbl;
     /
    
     create table source
     ( id   number
      ,txt  varchar2(25)
     )
     /
    
     insert into source
     values(1,'aaa')
     /
    
     insert into source
     values(2,'bbb')
     /
    
     insert into source
     values(3,'ccc')
     /
    
     insert into source
     values(4,'ddd')
     /
    
     insert into source
     values(5,'eee')
     /
    
     commit ;
    
     create table source_arc
     ( id  number
      ,txt varchar2(25)
      ,dt  date
      ,comments varchar2(512)
     )
     /
    

    )

    /

    Here is the result when I run this code:

    DECLARE
       i_owner_tbl_arc varchar2(61) := 'source_arc';
       i_owner_tbl     varchar2(61) := 'source' ;
       v_qry       varchar2(32767) := 'INSERT INTO ' ||  i_owner_tbl_arc ;
       g_content_list varchar2(32767) := '1,2,4';
    BEGIN
       v_qry := v_qry || chr(10) ||
           'select v.*, sysdate, ''archived'' ' || chr(10) ||
           'from ' || i_owner_tbl || ' v '      || chr(10) ||
           'where v.id IN  ( SELECT * ' || chr(10) ||
           '                         FROM TABLE( SELECT ' || chr(10) ||
           '                                          CAST(str2tbl( ' || g_content_list || ' ) ' || chr(10) ||
           '                                             AS myTableType ' || chr(10) ||
           '                                   ) ' || chr(10) ||
           '                                     FROM dual ));';
           
           execute immediate v_qry;
    END ;
    /
    ERROR at line 1:
    ORA-00911: invalid character
    ORA-06512: at line 17
    

    Any help appreciated.

    Remove the semicolon at the end of the string and put single quotes while calling the function.

    Try the below

    DECLARE

    i_owner_tbl_arc varchar2 (61): = "source_arc";

    i_owner_tbl varchar2 (61): = 'source ';

    v_qry varchar2 (32767): = 'INSERT INTO ' |  i_owner_tbl_arc;

    g_content_list varchar2 (32767): = '1,2,4';

    BEGIN

    v_qry: = v_qry | Chr (10) |

    "select v.*, sysdate,"archived"| Chr (10) |

    'from ' | i_owner_tbl | ' v '      || Chr (10) |

    «where v.id IN (SELECT * ' |)» Chr (10) |

    ' TABLE (SELECT ' |) Chr (10) |

    "CAST (str2tbl ("' |)) ". g_content_list | ''' ) ' || Chr (10) |

    '                                             AS myTableType ' || Chr (10) |

    '                                   ) ' || Chr (10) |

    '                                     FROM dual ))';

    immediately run v_qry;

    END;

  • ORA-01722: invalid number - when the last column has numbers that have a decimal separator

    Here are examples of data-

    FRT, 1.64, VAT, 23,36

    FRT, 1.64, VAT, 23,36

    When I try to convert 1.64 to_number everything is good, but when I do the same thing with 23,36 I get the following error

    ORA-29913: error in executing ODCIEXTTABLEFETCH legend

    ORA-01722: invalid number

    ORA-06512: at "SYS." ORACLE_LOADER', line 52

    I tried this query example

    Select to_number (CONSIGNMENT_NET_VALUE) as Col1 of DUMP_EXT

    Select to_number (CONSIGNMENT_NET_VALUE, '9999999999D' 99999', NLS_NUMERIC_CHARACTERS = ",". ") as Col1 DUMP_EXT-> 268906.1

    make the same mistake - any help greatly appreciated.

    T.

    Srini

    Try using:

    RECORDS DELIMITED BY newline

    Instead of:

    RECORDS DELIMITED BY '\n'


    on your table to create, in addition to just help to_number or to_number return with ' NLS_NUMERIC_CHARACTERS = ".," ' in your query, in the period before the comma as decimal separator comes before the grouping separator.

    What is probably happening is that your return to the line of the system data come from different East of your new line on the system that you load in.  You may need to experiment and

    Select dump (consignment_net_value) in the dump_ext;

    to determine what additional invisible characters, such as Chr (10) and Chr (13) can be added at the end of the number that you have to cut, so just using line feed does not work.  This is why it only happens with the numbers at the end of the line.

    Post edited by: BarbaraBoehmer

  • ORA-44416: invalid ACL: 'APEX_040000' main outstanding

    ORA-44416: invalid ACL: 'APEX_040000' main outstanding

    When I rnu Grant Connect privileges during the APEX of ORacle 11 g installation, I get the following error:

    DECLARE

    *

    ERROR on line 1:

    ORA-44416: invalid ACL: 'APEX_040000' main outstanding

    ORA-06512: at "SYS." DBMS_NETWORK_ACL_ADMIN', line 252

    ORA-06512: at line 33 level

    ORA-01403: no data found

    I yours try to run troubleshooting incorrect ACL message and receive this error message:

    DECLARE

    *

    ERROR on line 1:

    ORA-44416: invalid ACL: 'APEX_040000' main outstanding

    ORA-06512: at "SYS." DBMS_NETWORK_ACL_ADMIN', line 252

    ORA-06512: at line 33 level

    ORA-01403: no data found

    Also, when I try to open the URL...

    apex /: http://application-tier server: port/apex_ad min

    I get a pop up window asking for user name password identification.  How can I stop this from happening

    where you see the error?

    What code are you currently running which causes which? from where?

    can you post the URL of any code you copy / paste?

    If you happen be by copying and pasting the code (or the code request schema APEX), make sure that you change APEX_040000 to APEX_040200.

    select acl, principal
    from dba_network_acl_privileges
    where principal like 'APEX%'
    

    You should see the values of "principal" for APEX_030200 and APEX_040200.

    The instructions that I usually see show how to install and configure a single "advanced user" ACL.

    Therefore, I expect you to see only 2 rows.  If you see no rows for APEX_030200, don't worry about this.  You do not use this scheme anyway.

    SQL does not return all rows where main is APEX_040000 because this schema does not exist on your system.

    In this case, you must recreate the ACL or remove this "principal" of the ACL.

    DBMS_NETWORK_ACL_ADMIN. DELETE_PRIVILAGE

    You should be able to run that APEX with the ACL is configured (unless you perform a LDAP/AD authentication).

    It is also necessary for the print server and send e-mail.

    Oh, FYI - I had to do a grant when I upgraded from 4.0 to 4.2.  Somehow, the 'install' missed it.

    ALTER USER {workspace or parsing schema name}
      GRANT CONNECT THROUGH APEX_PUBLIC_USER;
    

    you will need to repeat for each schema parsing.

    MK

  • ORA - 02158 invalid index option create

    I create two indexes on a table. the following two welcomes:
    CREATE INDEX C_DATA.PDD_INDEX_2 ON  "C_DATA".PDD(SYS_ID, REPORT_ID, OUTPUT_TEMPLATE_ID, SECTION_ID, DP_ID, ROW_ID) LOCAL STORE IN ( C_DATA_IND_1,C_DATA_IND_2,C_DATA_IND_4, C_DATA_IND_5,C_DATA_IND_3);
    
    
    CREATE UNIQUE INDEX C_DATA.PDATA_ID_PK ON "C_DATA".PDD(PDATA_ID) GLOBAL STORE IN ( C_DATA_IND_1,C_DATA_IND_2,C_DATA_IND_4,C_DATA_IND_3);
    1 index was created successfully, but then a returned error ORA-02158 invalid create index option.

    I only am not able to understand why I am facing this error. Kindly help.
    Database version: 11.2.0.2

    For global partitioned index, you must specify the partition type.

  • Initialize the Ref Cursor to avoid ORA-01001: Invalid cursor

    Hello

    I write a stored procedure that returns a REF CURSOR. However, there are times when the cursor is not open if certain conditions are not met, so I wonder if there is a way to initialize the REF CURSOR so that the appellant does not receive the "ORA-01001: Invalid cursor" error when you try to work with the cursor, if it has not been opened.

    Any help is greatly appreciated...

    Thank you
    Christine

    cad0227 wrote:
    Hello

    I write a stored procedure that returns a REF CURSOR. However, there are times when the cursor is not open if certain conditions are not met, so I wonder if there is a way to initialize the REF CURSOR so that the appellant does not receive the "ORA-01001: Invalid cursor" error when you try to work with the cursor, if it has not been opened.

    Any help is greatly appreciated...

    Thank you
    Christine

    The most appropriate way would be the caller to handle the situation. The caller must capture the exception of INVALID_CURSOR and do what is necessary.

    Other suggestions like having a separate Pavilion or a model select all will lead the appellant to act to the particular situation, that slider is not being opened. What is the case with the exception of INVALID_CURSOR raised by oracle.

    All the need for the appellant to do is manage the exception of INVALID_CURSOR and you should be good. And also INVALID_CURSOR is not a mistake, it's an exception that has a special meaning for her. In the case you sense it takes the condition when not together to return a cursor.

  • An another ORA-01722: invalid number error

    Hi all
    I have 2 Validations on, 1 not Null and Not Exists, very standard.
    select fk_session_name_id
    from hrt_session
    where fk_session_name_id = :p9_fk_session_name_id
      and fk_class_id = :p9_fk_class_id;
    My question must be a Select list that returns the ID of the FK_SESSION_NAME_ID.
    select distinct SESSION_NAME display_value, PK_SESSION_NAME_ID return_value
    from HRT_SESSION_NAME
    order by 1
    My form Page up the error number ORA-01722 invalid only when I do a Select list item. If the item is a
    Value of text field and entry ID and you click on create data are saved, but not when it's a list of Select. I have read many things
    threads that talk about this point conversion to_number but I have not been successful in doing so. Once the element is
    There is a list of select validation not working, but not Validation Null fills the Error Message. Can anyone
    help me with this please? Thank you
    My FK_SESSION_NAME_ID and sessionname INTEGER data Type is VARCHAR2.
    SESSIONNAME data...
    SESSION 1
    SESSION 2
    EGR 1
    EGR 2
    BASIC WORD 2003...

    Published by: Charles on January 11, 2010 13:42

    Hello

    I changed validation FK.

    Now, it seems to work. Please check and let me know

    BR, Jari

  • ORA-20507: invalid numeric value

    Hi all
    I implement this excellent example: http://apex.oracle.com/pls/otn/f?p=48254:2:965943842947140:NO:P2_EMPNO:7369 #.
    I am able to call the PopUp page and create the new value for the element. "My data is also backed up in my form Page, but I get a ' ORA-20507: invalid numeric value ' error message. Once, I check the table that the record has been inserted, but the error message continues to be displayed.
    I saw the Forum and many State of discussions that it is a "to_number" which must be added to the logic in the application process. I tried this and have also tried logic V ("") for the Page element in the process of application, but without success. If anyone knows how to fix this your help is really needed, thanks.

    Hi Charles,

    The example of the 'new town' was based on the assumption that the city would be the value stored on the table rather than a foreign key.

    I've updated your process to get the ID for the new item and pass back to the home page:

    DECLARE
     vCOUNT NUMBER;
     vID NUMBER;
    BEGIN
     IF :G_CLASS_NAME IS NOT NULL THEN
      SELECT COUNT(*) INTO vCOUNT FROM HRT_CLASS_NAME WHERE CLASS_NAME = :G_CLASS_NAME;
      IF vCOUNT = 0 THEN
       INSERT INTO HRT_CLASS_NAME (CLASS_NAME) VALUES (:G_CLASS_NAME);
      END IF;
      SELECT PK_CLASS_NAME_ID INTO vID
       FROM HRT_CLASS_NAME WHERE CLASS_NAME = :G_CLASS_NAME;
      HTP.PRN(vID);
     END IF;
    END;
    

    (Note that I had a lot of problems to actually make a value - the definition of the table displays the fields with a type of NUMBER(*,0) - I think that this should be just NUMBER - you might want to change these, I've updated PK_CLASS_NAME_ID)

    The PTH. PRN (vID) line passes the PK of the folder to the javascript function call that past on it (the "ret" in the code value) return to the homepage and the new classname:

    function saveClassName()
    {
      var classname = document.getElementById('P3_CLASS_NAME').value;
     if (classname == '')
     {
      alert('You must enter in a name');
      return false;
     }
     else
     {
      var get = new htmldb_Get(null,$v('pFlowId'), 'APPLICATION_PROCESS=CREATE_CLASS_NAME',3);
      get.add('G_CLASS_NAME',classname);
      ret = get.get();
      opener.updateClassNameList(ret, classname);
      get = null;
      close();
     }
    }
    

    The function updateClassNameList on the homepage just must then use to create the list, select an option:

    function updateClassNameList(newid, newclassname)
    {
     var classnamelist = document.getElementById('P2_FK_CLASS_NAME_ID');
     appendToSelect(classnamelist, newid, newclassname);
     classnamelist.selectedIndex = classnamelist.options.length - 1;
    }
    

    Andy

  • Select list LOV (error ORA-01722: invalid number)

    Hello
    I use this procedure to insert data into a table through a submit after processes.
    CREATE OR REPLACE
    PROCEDURE PR_INS_TMP_STUDENTS(
    v_tmp_stu_id_in     IN      NUMBER
    )
    IS
    BEGIN
    
    
      INSERT INTO TMP_STUDENTS (
          stu_id,
          stu_name_last,
             stu_name_first,
             stu_name_middle,
             stu_name_suffix,
             stu_name_prefer_last,
          stu_name_prefer_first,
          sch_id
          )
      VALUES (
          v_tmp_stu_id_out,
          V('p50100_stu_name_last'),
          V('p50100_stu_name_first'),
          V('p50100_stu_name_middle'),
          V('p50100_stu_name_suffix'),
          V('p50100_stu_name_prefer_last'),
          V('p50100_stu_name_prefer_first'),
          V('p50100_sch_id')
          );
    
    END;
    I kept getting this error during the presentation of the page.
    ORA-01722: invalid number
    Error      Insert Failed! 
    I go back to sch_id which is a list of number type selection (3.0). The LOV selection list has the following attributes:
    Display extra value: No
    Dynamic Translation: No
    Number of Columns: 1
    Display Null: Yes
    Null Display Value: blank
    Null Return Value: blank
    Here's the code for the LOV:
    SELECT distinct(site_id || ' - ' || initcap(lower(site_name))) site_desc, site_id ret_val
    FROM sa.SITE_DEMOGRAPHICS@sis
    order by 2
    I don't know why I kept ORA-01722: invalid number during the presentation of the page. Everyone ran through this issue?

    Hello

    First of all, you should also use nv ('itemname') for numeric values-, make sure you use v() instead of V() for others.

    If the p50100_sch_id can be null, the return value will be "null %" - which could be the cause of the error.

    In such cases, I tend to do something like -1 of the value zero, then do a test for that, in the code - if the value is - 1, I replace NULL

    Andy

  • ORA 1410:invalid rowid

    Please a little help... me immediately!
    Calling a stored procedure. The prcodeure has 3 sliders o/p. The sliders are is filled from a table
    I get an exception row ORA 1410:invalid sql - id.
    Looks like the the cursor query that is thrown an exception:

    SELECT limit_table.seq, limit_table.lower_limit,
    limit_table.Upper_limit,
    NVL (OUTER.no_of_students, 0) no_of_students,
    NVL (OUTER.not_mastered, 0) not_mastered,
    NVL (OUTER.mastered, 0) mastered.
    NVL (OUTER.progressing, 0) is progressing
    FROM (SELECT limit_table.seq, limit_table.lower_limit,
    limit_table.Upper_limit, COUNTY
    (*) no_of_students,.
    ROUND (SUM (sum_not_mastered)
    MICROFINANCE (cnt_standards)
    * 100,
    0
    ) not_mastered,.
    ROUND (SUM (sum_mastered)
    MICROFINANCE (cnt_standards)
    * 100,
    0
    ) controlled.
    progresses of 0
    FROM (SELECT mast.person_oid,
    COUNTY (1) cnt_standards,
    SUM
    (DECODE (mast.mastery, 'n', 1, 0)
    ) sum_not_mastered,.
    SUM
    (DECODE (mast.mastery, 'Y', 1, 0)
    ) sum_mastered,.
    0 sum_progressing
    MAST CAMR.tmp_student_mastery
    WHERE mast.standard_id IN ((in English only)
    SELECT COLUMN_VALUE
    TABLE
    (CAST
    (l_standard_tab AS CAMR.standards_tab
    )
    ))
    AND mast.mastery <>'NA '.
    GROUP BY person_oid),
    CAMR.limit_table
    WHERE cnt_standards > = limit_table.lower_limit
    AND cnt_standards < = limit_table.upper_limit
    Limit_table.seq GROUP,
    limit_table.Lower_limit,
    limit_table.Upper_limit) EXTERNAL.
    limit_table
    WHERE limit_table.seq = OUTER.seq (+)
    ORDER BY limit_table.seq;

    Hmm, in that case, I wonder if the problem is issued autocommits and your TWG is defined as "ON COMMIT DELETE" as in this post: global temporary tables to return results to the client application ODP.NET games ?

  • Weird ORA-01722: invalid number

    This is the problematic code
     type TRecord is record(
          name    varchar2(32),
          selling varchar2(32)
        );
        type TCursor is ref cursor;
        c TCursor;
        r TRecord;
    ...
    fetch c into r; -- here raises the error
    ORA-01722: invalid number
    ORA-06512: at "INFO. OS_WIZARD', line 270
    ORA-06512: at "INFO. OS_WIZARD', line 887
    ORA-06512: at line 2

    I noticed that the cursor sql returns an empty dataset (no registration)

    This error didn't tell me anything? No idea how to solve this problem?
    Thank you
    Florin POP

    What is the sql code of your slider ref, as well as some examples of data?

    You are certainly what this line of code that is causing the problem?

  • table font PL/SQL: ORA-00902: invalid data type

    I m is

    PL/SQL: ORA-00902: invalid data type

    error in


    OPEN FOR PPymtCur
    SELECT *.
    TABLE (CAST (up_gap_tra_reports.myArray AS traArray));

    in my up_gap_tra_reports package.

    CREATE OR REPLACE PACKAGE GAPSDVEL.up_gap_tra_reports
    AS

    TraRecord RECORD TYPE IS
    (
    group1StudEnrol NUMBER (6.1).
    group2StudEnrol NUMBER (6.1).
    pymtAmt gap_payment.NET_AMT%TYPE
    );


    TYPE traArray IS TABLE OF THE traRecord;
    myArray traArray: = traArray();

    END up_gap_tra_reports;

    I have alreay hv declared of type traArray.

    pls help me solve this problem.

    Meghna wrote:
    is it possible to use the collection pl/sql in SQL or refcur without creating it because I'm not able to create the type of database.

    The only way I know is function in pipeline:

    create or replace
      package pkg1
        is
          type traRecord
            is record(
                      ename emp.ename%type,
                      sal   emp.sal%type
                     );
          TYPE traArray IS TABLE OF traRecord;
          function f1
            return traArray
            pipelined;
    end;
    /
    create or replace
      package body pkg1
        is
        function f1
            return traArray
            pipelined
          is
              v_rec traRecord;
          begin
              v_rec.ename := 'Sam';
              v_rec.sal := 1000;
              pipe row(v_rec);
              v_rec.ename := 'John';
              v_rec.sal := 1500;
              pipe row(v_rec);
              v_rec.ename := 'Mary';
              v_rec.sal := 2000;
              pipe row(v_rec);
              return;
        end;
    end;
    /
    

    Now, you can:

    SQL> select * from table(pkg1.f1)
      2  /
    
    ENAME             SAL
    ---------- ----------
    Sam              1000
    John             1500
    Mary             2000
    
    SQL>
    

    Don't forget, it will create the generated system types:

    SQL> select type_name from user_types
      2  /
    
    TYPE_NAME
    ------------------------------
    SYS_PLSQL_73305_9_1
    SYS_PLSQL_73305_DUMMY_1
    SYS_PLSQL_73305_34_1
    
    SQL> desc SYS_PLSQL_73305_9_1
     Name                                      Null?    Type
     ----------------------------------------- -------- ----------------------------
     ENAME                                              VARCHAR2(10)
     SAL                                                NUMBER(7,2)
    
    SQL> desc SYS_PLSQL_73305_DUMMY_1
     SYS_PLSQL_73305_DUMMY_1 TABLE OF NUMBER
    
    SQL> desc SYS_PLSQL_73305_34_1
     SYS_PLSQL_73305_34_1 TABLE OF SYS_PLSQL_73305_9_1
     Name                                      Null?    Type
     ----------------------------------------- -------- ----------------------------
     ENAME                                              VARCHAR2(10)
     SAL                                                NUMBER(7,2)
    
    SQL> 
    

    SY.

Maybe you are looking for

  • Google calendar renders in Firefox for a site I manage, but not for another. Same code. What is the problem?

    I run 2 sites. I have google calendar embedded in a page from site 1, it works fine in chrome, firefox and IE.Site 2 has the same schedule, a code identical, but rendered will alone in chrome, empties nothing in Firefox and IE get an error message sa

  • I have a random program crashes, please advise...

    I have a random program crash when changing tabs. I have also problems to copy an image on the internet and then paste it anywhere. I'm able to do when I use Internet Explorer, but I can't do when using Firefox. It allows me to copy, but does not giv

  • How can I display form details in a popup window?

    Recently, called assist of Babylon took control of Firefox and I had to reset Firefox to get rid of it. As a result, I lost the ability to right-click on a page and select from a list that allowed me to view the details of the form in a popup window.

  • Use creation to read alternating channels and data

    I have a csv file that I am trying to create a use. The help file says that if I specify a line in the form of data, then all subsequent lines must also be given. The first line of my file is a header parameter names of test. I would like these are t

  • Vista disconnect at startup

    Am running Windows Vista on an Acer desktop computer.  Whenever I try to start the machine, once connected, the screen shows "Logging Off" then "Shutting Down".  I tried it Safe Mode boot, I have run the check disk and Defrag, but so far, nothing wor