Mega Code Archive

 
Categories / Oracle PLSQL / Stored Procedure Function
 

Legal and illegal formal parameters which are constrained by length

SQL> SQL> SQL> SQL> SET echo on SQL> SQL> CREATE OR REPLACE PROCEDURE ParameterLength (   2    p_Parameter1 IN OUT VARCHAR2(10),   3    p_Parameter2 IN OUT NUMBER(3,1)) AS   4  BEGIN   5    p_Parameter1 := 'abcdefghijklm';   6    p_Parameter2 := 12.3;   7  END ParameterLength;   8  / Warning: Procedure created with compilation errors. SQL> SHOW ERRORS Errors for PROCEDURE PARAMETERLENGTH: LINE/COL ERROR -------- ----------------------------------------------------------------- 2/31     PLS-00103: Encountered the symbol "(" when expecting one of the          following:          := . ) , @ % default character          The symbol ":=" was substituted for "(" to continue. 3/29     PLS-00103: Encountered the symbol "(" when expecting one of the          following:          := . ) , @ % default character          The symbol ":=" was substituted for "(" to continue. SQL> SQL> DECLARE   2    v_Variable1 VARCHAR2(40);   3    v_Variable2 NUMBER(7,3);   4  BEGIN   5    ParameterLength(v_Variable1, v_Variable2);   6  END;   7  /   ParameterLength(v_Variable1, v_Variable2);   * ERROR at line 5: ORA-06550: line 5, column 3: PLS-00905: object RNTSOFT.PARAMETERLENGTH is invalid ORA-06550: line 5, column 3: PL/SQL: Statement ignored SQL> SQL>