ParameterLength using %TYPE for the parameters(Calling ParameterLength illegally (ORA-6502)) : Procedure Parameters « Stored Procedure Function « Oracle PL / SQL






ParameterLength using %TYPE for the parameters(Calling ParameterLength illegally (ORA-6502))

    
SQL>
SQL>
SQL> CREATE TABLE lecturer (
  2    id               NUMBER(5) PRIMARY KEY,
  3    first_name       VARCHAR2(20),
  4    last_name        VARCHAR2(20),
  5    major            VARCHAR2(30),
  6    current_credits  NUMBER(3)
  7    );

Table created.

SQL>
SQL> INSERT INTO lecturer (id, first_name, last_name, major,current_credits)
  2                VALUES (10001, 'Scott', 'Lawson','Computer Science', 11);

1 row created.

SQL>
SQL> INSERT INTO lecturer (id, first_name, last_name, major, current_credits)
  2                VALUES (10002, 'Mar', 'Wells','History', 4);

1 row created.

SQL>
SQL> INSERT INTO lecturer (id, first_name, last_name, major,current_credits)
  2                VALUES (10003, 'Jone', 'Bliss','Computer Science', 8);

1 row created.

SQL>
SQL> INSERT INTO lecturer (id, first_name, last_name, major,current_credits)
  2                VALUES (10004, 'Man', 'Kyte','Economics', 8);

1 row created.

SQL>
SQL> INSERT INTO lecturer (id, first_name, last_name, major,current_credits)
  2                VALUES (10005, 'Pat', 'Poll','History', 4);

1 row created.

SQL>
SQL> INSERT INTO lecturer (id, first_name, last_name, major,current_credits)
  2                VALUES (10006, 'Tim', 'Viper','History', 4);

1 row created.

SQL>
SQL> INSERT INTO lecturer (id, first_name, last_name, major,current_credits)
  2                VALUES (10007, 'Barbara', 'Blues','Economics', 7);

1 row created.

SQL>
SQL> INSERT INTO lecturer (id, first_name, last_name, major,current_credits)
  2                VALUES (10008, 'David', 'Large','Music', 4);

1 row created.

SQL>
SQL> INSERT INTO lecturer (id, first_name, last_name, major,current_credits)
  2                VALUES (10009, 'Chris', 'Elegant','Nutrition', 8);

1 row created.

SQL>
SQL> INSERT INTO lecturer (id, first_name, last_name, major,current_credits)
  2                VALUES (10010, 'Rose', 'Bond','Music', 7);

1 row created.

SQL>
SQL> INSERT INTO lecturer (id, first_name, last_name, major,current_credits)
  2                VALUES (10011, 'Rita', 'Johnson','Nutrition', 8);

1 row created.

SQL>
SQL> INSERT INTO lecturer (id, first_name, last_name, major,current_credits)
  2                VALUES (10012, 'Sharon', 'Clear','Computer Science', 3);

1 row created.

SQL>
SQL> SET echo on
SQL>
SQL> CREATE OR REPLACE PROCEDURE ParameterLength (
  2    p_Parameter1 IN OUT VARCHAR2,
  3    p_Parameter2 IN OUT lecturer.current_credits%TYPE) AS
  4  BEGIN
  5    p_Parameter2 := 12345;
  6  END ParameterLength;
  7  /

Procedure created.

SQL>
SQL> DECLARE
  2    v_Variable1 VARCHAR2(1);
  3    v_Variable2 NUMBER;
  4  BEGIN
  5    ParameterLength(v_Variable1, v_Variable2);
  6  END;
  7  /
DECLARE
*
ERROR at line 1:
ORA-06502: PL/SQL: numeric or value error: number precision too large
ORA-06512: at "JAVA2S.PARAMETERLENGTH", line 5
ORA-06512: at line 5


SQL>
SQL> drop table lecturer;

Table dropped.

SQL>

   
    
    
  








Related examples in the same category

1.Number type parameter
2.create and pass in three parms
3.Store procedure with three parameters
4.create default values
5.positional and named notation for procedure calls.
6.Passing parameter by parameter name
7.Procedure with four parameters
8.First 2 parameters passed by position, the second 2 are passed by name
9.Pass null to procedure
10.Wrong way to reference parameters
11.Procedure with colunm type as parameter type
12.NOCOPY modifier.
13.Legal and illegal formal parameters which are constrained by length.
14.Use SYS_REFCURSOR as parameter type
15.Different ways of calling a procedure with default parameters.
16.Default Parameter Values
17.Positional vs. named parameter passing.
18.Use column type to control parameter type
19.Use concatenation to wrap string passed in
20.User-defined collection type parameter