-
Ora1460
declare
DB_LUNKvarchar2(1) := 'F';
cursor c_search_tables
is
select object_name
from search_tables;
begin
update search_tables
set is_found = null;
for search_tables_row in c_search_tables loop
find_object(search_tables_row.object_name, found_me)
update search_tables
set is_found = found_me
where object_name = search_tables_row.object_name
end loop;
end;
I got an error ORA-01460 on the line : find_object(search_tables_row.object_name, found_me)
any advises???
-
Is FIND_OBJECT() a procedure or a function?
Where is FOUND_ME declared?
Shouldn't there be a semicolon after the FIND_OBJECT() call?
-
You are missing some semi-colons
-
sorry I missed the semi colon when I paste the syntax. I think my problem was :
Problem Description
-------------------
You are trying to insert values into a LONG RAW column through a stored procedure and you are getting the error:
ORA-01460 "unimplemented or unreasonable conversion requested"
whenever the value is longer than 32K. The maximum size of the LONG RAW column is 2gb. However, for the same table from the same OCI
program you can insert using oci calls.
Solution Description
--------------------
You need to use the Oracle supplied DBMS_SQL package and the functions
DEFINE_COLUMN_LONG and COLUMNN_VALUE_LONG functions in order to acheive this through a stored procedure in PL/SQL.
Explanation
-----------
Even though the LONG RAW column in the database can hold up to 2gb of data, the maximum length of a LONG or LONG RAW datatype in PL/SQL is 32,760 bytes.
Hence, you cannot manipulate data which is larger than this in PL/SQL.
But I am not clear of hwo to fix it on the syntax
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|