请问:java中如何一次执行多条sql语句!谢谢!

minger214 2004-09-06 11:15:20
请问:java中如何一次执行多条sql语句!谢谢!
...全文
715 18 点赞 打赏 收藏 举报
写回复
18 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
zjhua 2004-11-10
何为事务,我不是很了解。
我做测试:
connection.setAutoCommit(false);
操作一般插入语句
没有commit,但执行后他都自动commit,有些困惑。用的是MySql数据库。
  • 打赏
  • 举报
回复
minger214 2004-11-10
谢谢大家!对了,寒冬,
“首先connection.setAutoCommit(false);
然后写出你所有要执行的SQL语句
执行每一句,如果执行全部成功,connection.commit(); ”

如何判断知道是不是所有的执行都成功了呢?
  • 打赏
  • 举报
回复
bluesky35 2004-09-06
可以用PL/SQL,把所有的SQL都写在里面执行.
  • 打赏
  • 举报
回复
CHLC 2004-09-06
我觉的用一个循环比较方便吧!
  • 打赏
  • 举报
回复
wandou999 2004-09-06
我决得一次执行多条语句不大可能,因为在生命周期中,执行一次,就结束了,
为什么不用事物处理呢
  • 打赏
  • 举报
回复
AHUA1001 2004-09-06
其实很简单,你为什么要把他们写在一起呢,写多条,然后一条一条的执行就可以了。
  • 打赏
  • 举报
回复
minger214 2004-09-06
我是个菜鸟,能给个实例参考一下吗?谢谢了!
  • 打赏
  • 举报
回复
jackal81 2004-09-06
用循环写就可以了:)
  • 打赏
  • 举报
回复
alaal 2004-09-06
首先connection.setAutoCommit(false);
然后写出你所有要执行的SQL语句

执行每一句,如果执行全部成功,connection.commit();
在catch里执行connection.rollback();有依据不成功就回滚
  • 打赏
  • 举报
回复
aiwngye 2004-09-06
用java.sql.Statement 的addBatch()方法加入多条要进行的SQL,最后执行executeBatch()
  • 打赏
  • 举报
回复
newste 2004-09-06
我是一条一条执行,用一个while循环,
要不你就在一个方法里面,写多条查询语句,一句一句执行,
  • 打赏
  • 举报
回复
minger214 2004-09-06
是啊!
  • 打赏
  • 举报
回复
newste 2004-09-06
你是想一次执行多条插入语句是吗??/
  • 打赏
  • 举报
回复
vampirewp 2004-09-06
Statement stmt=conn.createStatement();
sql = "insert into..."; //要执行的SQL
stmt.add(sql);
sql = "insert into..."; //要执行的SQL
stmt.add(sql);
stmt.executeBatch();

还可以加入事务处理
  • 打赏
  • 举报
回复
nmgwrb 2004-09-06
哈哈!我自己写了一个方法搞定了!

  • 打赏
  • 举报
回复
minger214 2004-09-06
"用java.sql.Statement 的addBatch()方法加入多条要进行的SQL,最后执行executeBatch()"
我觉得这个不错,可是该怎么写呢?能给个例子吗!谢谢大家的回复!
  • 打赏
  • 举报
回复
kb 2004-09-06
Statement stmt = con.createStatement();
stmt.executeUpdate(
"INSERT INTO COFFEES " +
"VALUES ('Colombian', 101, 7.99, 0, 0)");

The code that follows inserts a second row into the table COFFEES . Note that we can just reuse the Statement object stmt rather than having to create a new one for each execution.

stmt.executeUpdate("INSERT INTO COFFEES " +
"VALUES ('French_Roast', 49, 8.99, 0, 0)");

Values for the remaining rows can be inserted as follows:

stmt.executeUpdate("INSERT INTO COFFEES " +
"VALUES ('Espresso', 150, 9.99, 0, 0)");
stmt.executeUpdate("INSERT INTO COFFEES " +
"VALUES ('Colombian_Decaf', 101, 8.99, 0, 0)");
stmt.executeUpdate("INSERT INTO COFFEES " +
"VALUES ('French_Roast_Decaf', 49, 9.99, 0, 0)");
  • 打赏
  • 举报
回复
kb 2004-09-06
当然没有问题了,主要看你是向一个表还是多个表中插入记录。通过事物处理就没有问题。
我觉得你不是这个意思吧?
  • 打赏
  • 举报
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2004-09-06 11:15
社区公告
暂无公告