Mega Code Archive

 
Categories / Oracle PLSQL / PL SQL
 

Declare variables which will be used in SQL statements

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> SQL> SQL> DECLARE   2    v_NewMajor VARCHAR2(10) := 'History';   3    myFirstName VARCHAR2(10) := 'Scott';   4    v_LastName VARCHAR2(10) := 'Urman';   5  BEGIN   6    UPDATE lecturer   7      SET major = v_NewMajor   8      WHERE first_name = myFirstName   9      AND last_name = v_LastName;  10    IF SQL%NOTFOUND THEN  11      INSERT INTO lecturer (ID, first_name, last_name, major)  12        VALUES (10020, myFirstName, v_LastName, v_NewMajor);  13    END IF;  14  END;  15  / PL/SQL procedure successfully completed. SQL> SQL> SQL> drop table lecturer; Table dropped. SQL>