Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

ORA-06502: PL/SQL: numeric or value error: raw variable length too long

657251Sep 16 2008 — edited Sep 16 2008
Hi All,

Oracle 9.2.0.1.0 and Oracle 10g.

I the following procedure:

CREATE OR REPLACE TYPE Resource_TT AS TABLE OF RAW(16)
/
CREATE OR REPLACE PROCEDURE GET_ROLEMAPPING_Temp
(
RoleIds IN NVARCHAR2 DEFAULT NULL ,
Application IN NVARCHAR2 DEFAULT NULL ,
MappingExixts OUT NVARCHAR2
)
AS
v_Application NVARCHAR2(150) := Application;
resource_list CONSTANT Resource_TT := Resource_TT(RoleIds);
v_temp NUMBER(1, 0) := 0;
BEGIN
SELECT 1 INTO v_temp
FROM DUAL
WHERE EXISTS ( SELECT SecurityGroupId
FROM SKESGResourceMapping
WHERE APPLICATION = v_Application
AND RoleId IN
(
select column_value
from table(resource_list)
) );
EXCEPTION
WHEN NO_DATA_FOUND THEN
MappingExixts := 'NO';
END;

IF v_temp = 1 THEN
MappingExixts := 'YES';
END IF;
END;

while calling the procedure from sql*plus, the calling block is :

variable MappingExixts nvarchar2(100);

execute Get_RoleMapping_Temp('2f90e7969e0a9045aeb5b5ed7b3da9d6,363aef470e10094281e5040627e3b6f8', 'repo1', :MappingExixts);

print MappingExixts;

It is throwing an error saying:

ORA-06502: PL/SQL: numeric or value error: raw variable length too long
ORA-06512: at "ORACLE1.GET_ROLEMAPPING_TEMP", line 8

Thanks for your valuable time and suggestions
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Oct 14 2008
Added on Sep 16 2008
2 comments
765 views