Mega Code Archive

 
Categories / Oracle PLSQL / PL SQL
 

If count() is 0, insert data

SQL> CREATE TABLE emp (   2    id         NUMBER PRIMARY KEY,   3    fname VARCHAR2(50),   4    lname  VARCHAR2(50)   5  ); Table created. SQL> SQL> INSERT INTO emp (id, fname, lname)VALUES (1, 'A', 'B'); 1 row created. SQL> INSERT INTO emp (id, fname, lname)VALUES (2, 'C', 'D'); 1 row created. SQL> INSERT INTO emp (id, fname, lname)VALUES (3, 'Enn', 'F'); 1 row created. SQL> INSERT INTO emp (id, fname, lname)VALUES (4, 'G', 'H'); 1 row created. SQL> INSERT INTO emp (id, fname, lname)VALUES (5, 'G', 'Z'); 1 row created. SQL> SQL> SQL> DECLARE   2   3     v_count PLS_INTEGER := 0;   4   5  BEGIN   6     SELECT COUNT(1) INTO v_count FROM emp WHERE id = 55;   7   8     IF v_count = 0   9     THEN  10        INSERT INTO emp VALUES (54, 'R', 'W');  11        DBMS_OUTPUT.PUT_LINE('Added emp');  12     ELSE  13        DBMS_OUTPUT.PUT_LINE('emp already exists');  14     END IF;  15  16     COMMIT;  17  18  EXCEPTION  19     WHEN OTHERS  20     THEN  21        DBMS_OUTPUT.PUT_LINE(SQLERRM);  22  END;  23  / Added emp PL/SQL procedure successfully completed. SQL> drop table emp; Table dropped. SQL>