Creating a procedure and call it : Type « PL SQL « Oracle PL / SQL






Creating a procedure and call it

   
SQL>
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> CREATE OR REPLACE PROCEDURE AddNewStudent (
  2    p_FirstName  lecturer.first_name%TYPE,
  3    p_LastName   lecturer.last_name%TYPE,
  4    p_Major      lecturer.major%TYPE) AS
  5  BEGIN
  6    INSERT INTO lecturer (ID, first_name, last_name,
  7                          current_credits,  major)
  8      VALUES (1, p_FirstName, p_LastName,
  9              0, p_Major);
 10
 11
 12  END AddNewStudent;
 13  /

Procedure created.

SQL>
SQL> DECLARE
  2    v_NewFirstName  lecturer.first_name%TYPE := 'Margaret';
  3    v_NewLastName   lecturer.last_name%TYPE := 'Mason';
  4    v_NewMajor      lecturer.major%TYPE := 'History';
  5  BEGIN
  6    AddNewStudent(v_NewFirstName, v_NewLastName, v_NewMajor);
  7  END;
  8  /

PL/SQL procedure successfully completed.

SQL>
SQL>
SQL> select * from lecturer;

        ID FIRST_NAME           LAST_NAME            MAJOR                          CURRENT_CREDITS
---------- -------------------- -------------------- ------------------------------ ---------------
     10001 Scott                Lawson               Computer Science                            11
     10002 Mar                  Wells                History                                      4
     10003 Jone                 Bliss                Computer Science                             8
     10004 Man                  Kyte                 Economics                                    8
     10005 Pat                  Poll                 History                                      4
     10006 Tim                  Viper                History                                      4
     10007 Barbara              Blues                Economics                                    7
     10008 David                Large                Music                                        4
     10009 Chris                Elegant              Nutrition                                    8
     10010 Rose                 Bond                 Music                                        7
     10011 Rita                 Johnson              Nutrition                                    8

        ID FIRST_NAME           LAST_NAME            MAJOR                          CURRENT_CREDITS
---------- -------------------- -------------------- ------------------------------ ---------------
     10012 Sharon               Clear                Computer Science                             3
         1 Margaret             Mason                History                                      0

13 rows selected.

SQL>
SQL> drop table lecturer;

Table dropped.

SQL>

   
    
  








Related examples in the same category

1.Declare scalars based on the datatype of a previously declared variable
2.rowtype and type
3.Select only one row for column type variable
4.Passing %TYPE and %ROWTYPE as Parameters
5.Column%type parameter
6.reference table data with tableName.columnName%type
7.Add row to table with tableName.columnName%type