CREATE TABLE test_table (a NUMBER NOT NULL)
Table created.
DECLARE
TYPE t_test_table IS TABLE OF test_table%ROWTYPE;
l_test_table t_test_table := t_test_table();
BEGIN
l_test_table.extend;
l_test_table(1).a := NULL;
FORALL i IN l_test_table.first .. l_test_table.last --SAVE EXCEPTIONS
INSERT INTO test_table VALUES l_test_table(i);
EXCEPTION WHEN OTHERS THEN
FOR i IN 1..SQL%BULK_EXCEPTIONS.COUNT
LOOP
DBMS_OUTPUT.PUT_LINE('SQLERRM: '
|| SQLERRM(-SQL%BULK_EXCEPTIONS(i).ERROR_CODE));
END LOOP;
END;
Statement processed.
SQLERRM: ORA-01400: cannot insert NULL into ("SQL_LBRGMMUTIMSXKNHFNRRUTAAKV"."TEST_TABLE"."A")
DECLARE
TYPE t_test_table IS TABLE OF test_table%ROWTYPE;
l_test_table t_test_table := t_test_table();
BEGIN
l_test_table.extend;
l_test_table(1).a := NULL;
FORALL i IN l_test_table.first .. l_test_table.last SAVE EXCEPTIONS
INSERT INTO test_table VALUES l_test_table(i);
EXCEPTION WHEN OTHERS THEN
FOR i IN 1..SQL%BULK_EXCEPTIONS.COUNT
LOOP
DBMS_OUTPUT.PUT_LINE('SQLERRM: '
|| SQLERRM(-SQL%BULK_EXCEPTIONS(i).ERROR_CODE));
END LOOP;
END;
Statement processed.
SQLERRM: ORA-01400: cannot insert NULL into ()