-
procedure compilation error
Hi Friends,
I got a procedure that is clean compiled in 8i but it got error in
10g.
This is the code:
CREATE OR REPLACE PROCEDURE DT_SETPROPERTYBYID (PARAM_ID IN NUMBER, PARAM_PROPERTY IN VARCHAR2,
PARAM_VALUE IN VARCHAR2, PARAM_LVALUE IN LONG RAW ) AS
BEGIN DECLARE X NUMBER(40);
BEGIN
SELECT COUNT(*) INTO X FROM MICROSOFTDTPROPERTIES WHERE OBJECTID=PARAM_ID AND
PROPERTY=PARAM_PROPERTY;
IF X = 0
THEN INSERT INTO MICROSOFTDTPROPERTIES
(ID, PROPERTY, OBJECTID, VALUE, LVALUE, VERSION)
VALUES (MICROSOFTSEQDTPROPERTIES.NEXTVAL, PARAM_PROPERTY, PARAM_ID, PARAM_VALUE,
PARAM_LVALUE, 0);
ELSE
UPDATE MICROSOFTDTPROPERTIES SET VALUE=PARAM_VALUE, LVALUE=PARAM_LVALUE,
VERSION=VERSION+1 WHERE OBJECTID=PARAM_ID AND PROPERTY=PARAM_PROPERTY;
END IF;
END;
END DT_SETPROPERTYBYID;
/
Warning: Procedure created with compilation errors.
SQL> SHO ERRORS
Errors for PROCEDURE DT_SETPROPERTYBYID:
LINE/COL ERROR
-------- -----------------------------------------------------------------
3/24 PLS-00216: NUMBER precision constraint must be in range (1 .. 38)
S.O.S plssss
-
PLS-00216 NUMBER precision constraint must be in range (1 .. 38)
Cause: A NUMBER variable was declared with a precision that is outside the legal range. Declarations such as N NUMBER(800) or N NUMBER(123,10) are not supported.
Action: Change the illegal NUMBER precision constraint, making sure that it lies in the range 1 .. 38.
-
lol i didnt see that...im just closed mind on the fact that it did
run on 8i, and I miss look that number(40) as varchar(40),
see what ur willowing mind can do for u ...thanks papa mmmhuaaaaaa
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
|