Procedure with colunm type as parameter type : Procedure Parameters « Stored Procedure Function « Oracle PL / SQL






Procedure with colunm type as parameter type

    
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 serveroutput on
SQL>
SQL> CREATE OR REPLACE PROCEDURE printLecturer(p_Major IN lecturer.major%TYPE) AS
  2    CURSOR c_lecturer IS
  3      SELECT first_name, last_name FROM lecturer WHERE major = p_Major;
  4  BEGIN
  5    FOR v_StudentRec IN c_lecturer LOOP
  6      DBMS_OUTPUT.PUT_LINE(v_StudentRec.first_name || ' ' ||v_StudentRec.last_name);
  7    END LOOP;
  8  END;
  9  /

Procedure created.

SQL>
SQL> BEGIN
  2    printLecturer('Computer Science');
  3  END;
  4  /
Scott Lawson
Jone Bliss
Sharon Clear

PL/SQL procedure successfully completed.

SQL>
SQL> drop table lecturer;

Table dropped.

   
    
    
  








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.NOCOPY modifier.
12.Legal and illegal formal parameters which are constrained by length.
13.ParameterLength using %TYPE for the parameters(Calling ParameterLength illegally (ORA-6502))
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