本文共 1373 字,大约阅读时间需要 4 分钟。
java链接oracle和连接其他数据库一样有两种方式:
1 桥接 jdbc-obdc
2 jbdc
insert语句一次插入大量数据
insert into table (列1,列2,列3) select 列1,列2,列3 from table1;
update语句在更新数据时直接修改数据(oracle特有的)
update table set(列1,列2,列3) = (select 列1,列2,列3, from table1 where…..) where ….. ;
用查询结果创建新表
create table table2 (列1,列2,列3) as select 列11,列22,列33 from table;
oracle中的事务处理
1 锁的概念
2 保存点的使用:
在处理当前事务过程中,还没提交事务时,可以回滚到保存点
savepoint point1;rollback to point1;
提交命令是:commit;
特别指出:每次退出数据库的时候数据库都会自动提交,没有提交相当于内容在变但是没有保存。
3 在java中使用事务
在java中访问数据库时,每执行一条语句就会提交一次,如果多条语句执行过程中,发生错误,会导致表被改变
,并且没按照程序员的意愿发生改变,这时需要利用事务的原理设计程序。
1 import java.sql.*;2
3 public classDemo001 {4
5 public static voidmain(String[] args) {6 Connection ct = null;7 try{8 Class.forName("oracle.jdbc.driver.OracleDriver");9 ct =DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:myoracle1","scott","tiger");11 Statement st =ct.createStatement();12
13 //设置ct不自动提交事务
14 ct.setAutoCommit(false);15
16 st.executeUpdate("update table set a1 = a1 + 100 where name = 'sss' ");17
18 int w = 1/0;//故意制作的异常
19
20 st.executeUpdate("update table set a2 = a2 - 100 where name = 'sss' ");21
22 ct.commit();23 ct.close();24 st.close();25
26 }catch(Exception e){27 try{28 //一旦发生异常则回滚
29 ct.rollback();30 } catch(SQLException e1) {31 e1.printStackTrace();32 }33 }34 }35 }
转载地址:https://blog.csdn.net/weixin_34759094/article/details/114096846 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!