WHENEVER SQLERROR EXIT AND DML

1.
SQL> create table test_dml(id int);

Table created.

SQL> select * from test_dml;
select * from test῟dml
                  *
ERROR at line 1:
ORA-00911: 無效字符


SQL> select * from test_dml;

no rows selected



[oracle@yyjk 20190430]$ cat all.txt 
WHENEVER SQLERROR EXIT
@a1.sql
COMMIT;
@a2.sql
COMMIT;
[oracle@yyjk 20190430]$ 
[oracle@yyjk 20190430]$ cat a1.sql 
insert into test_dml values(111);
insert into test_dml values('aaa');

[oracle@yyjk 20190430]$ cat a2.sql
insert into test_dml values(222);
insert into test_dml values('bbb');


With the Partitioning, OLAP, Data Mining and Real Application Testing options
[oracle@yyjk 20190430]$ sqlplus tlcbuser/tlcbuser

SQL*Plus: Release 11.2.0.4.0 Production on 星期二 4月 30 15:42:56 2019

Copyright (c) 1982, 2013, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> @all.txt

1 row created.

insert into test_dml values('aaa')
                            *
ERROR at line 1:
ORA-01722: 無效數字


Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
[oracle@yyjk 20190430]$ 


Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> select * from test_dml;

 ID
----------
       111

    
此時111已經被插入了

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章