Mega Code Archive

 
Categories / Oracle PLSQL / PL SQL
 

Put insert statement into its own block

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> select * from lecturer;       ID FIRST_NAME           LAST_NAME            MAJOR                          CURRENT_CREDITS -------- -------------------- -------------------- ------------------------------ --------------- ######## Scott                Lawson               Computer Science                         11.00 ######## Mar                  Wells                History                                   4.00 ######## Jone                 Bliss                Computer Science                          8.00 ######## Man                  Kyte                 Economics                                 8.00 ######## Pat                  Poll                 History                                   4.00 ######## Tim                  Viper                History                                   4.00 ######## Barbara              Blues                Economics                                 7.00 ######## David                Large                Music                                     4.00 ######## Chris                Elegant              Nutrition                                 8.00 ######## Rose                 Bond                 Music                                     7.00 ######## Rita                 Johnson              Nutrition                                 8.00       ID FIRST_NAME           LAST_NAME            MAJOR                          CURRENT_CREDITS -------- -------------------- -------------------- ------------------------------ --------------- ######## Sharon               Clear                Computer Science                          3.00 12 rows selected. SQL> SQL> CREATE TABLE myLogTable (   2    code             NUMBER,   3    message          VARCHAR2(200),   4    info             VARCHAR2(100)   5    ); Table created. SQL> SQL> SQL> SQL> SQL> DECLARE   2    myLecturerID NUMBER(5) := 10000;   3    myFirstName VARCHAR2(20);   4   5  BEGIN   6    SELECT first_name   7      INTO myFirstName   8      FROM lecturer   9      WHERE id = myLecturerID;  10    BEGIN  11      INSERT INTO myLogTable (info)  12        VALUES ('Hello from a nested block!');  13    END;  14  EXCEPTION  15    WHEN NO_DATA_FOUND THEN  16      BEGIN  17        INSERT INTO myLogTable (info)  18          VALUES ('Student 10,000 does not exist!');  19      EXCEPTION  20        WHEN OTHERS THEN  21          DBMS_OUTPUT.PUT_LINE('Error inserting into myLogTable!');  22      END;  23  END;  24  / PL/SQL procedure successfully completed. SQL> SQL> select * from lecturer;       ID FIRST_NAME           LAST_NAME            MAJOR                          CURRENT_CREDITS -------- -------------------- -------------------- ------------------------------ --------------- ######## Scott                Lawson               Computer Science                         11.00 ######## Mar                  Wells                History                                   4.00 ######## Jone                 Bliss                Computer Science                          8.00 ######## Man                  Kyte                 Economics                                 8.00 ######## Pat                  Poll                 History                                   4.00 ######## Tim                  Viper                History                                   4.00 ######## Barbara              Blues                Economics                                 7.00 ######## David                Large                Music                                     4.00 ######## Chris                Elegant              Nutrition                                 8.00 ######## Rose                 Bond                 Music                                     7.00 ######## Rita                 Johnson              Nutrition                                 8.00       ID FIRST_NAME           LAST_NAME            MAJOR                          CURRENT_CREDITS -------- -------------------- -------------------- ------------------------------ --------------- ######## Sharon               Clear                Computer Science                          3.00 12 rows selected. SQL> SQL> select * from myLogTable;     CODE MESSAGE -------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------- INFO ---------------------------------------------------------------------------------------------------- Student 10,000 does not exist! SQL> SQL> drop table lecturer; Table dropped. SQL> SQL> drop table myLogTable; Table dropped. SQL>