SDO_LRS. LRS_INTERSECTION returns ORA-13331: invalid LRS segment
I was experimenting with the LRS_INTERSECTION function by runningSelect 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
-
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:
1 index was created successfully, but then a returned error ORA-02158 invalid create index option.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);
I only am not able to understand why I am facing this error. Kindly help.
Database version: 11.2.0.2For 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
Christinecad0227 wrote:
HelloI 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
ChristineThe 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.
My question must be a Select list that returns the ID of the FK_SESSION_NAME_ID.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 form Page up the error number ORA-01722 invalid only when I do a Select list item. If the item is aselect distinct SESSION_NAME display_value, PK_SESSION_NAME_ID return_value from HRT_SESSION_NAME order by 1
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:42Hello
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.
I kept getting this error during the presentation of the page.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 go back to sch_id which is a list of number type selection (3.0). The LOV selection list has the following attributes:ORA-01722: invalid number Error Insert Failed!
Here's the code for the LOV:Display extra value: No Dynamic Translation: No Number of Columns: 1 Display Null: Yes Null Display Value: blank Null Return Value: blank
I don't know why I kept ORA-01722: invalid number during the presentation of the page. Everyone ran through this issue?SELECT distinct(site_id || ' - ' || initcap(lower(site_name))) site_desc, site_id ret_val FROM sa.SITE_DEMOGRAPHICS@sis order by 2
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
-
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
ORA-01722: invalid numbertype 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-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 POPWhat 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
-
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
-
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