2011-05-31 55 views
1

我想通过JDBC(它的SQL服务器)来执行这个脚本:如何使用JDBC执行一组相关的SQL指令?

DECLARE @var VARCHAR(10) 
SET @var = "test" 
INSERT INTO foo (name) VALUES (@var) 

这只是一个例子,在我的生意情况下,我有SQL语句的大集合在一个脚本中。

我想这一点:

final Statement stmt = connection.createStatement(); 
for (String sql : lines) { 
    stmt.executeUpdate(sql); 
} 
stmt.close(); 

SQL服务器是说在第二行:

java.sql.SQLException: Must declare the scalar variable "@var". 

看起来像我做错了什么......

+2

为什么不创建存储过程并调用它们呢? – Chandu 2011-05-31 19:49:47

+0

这是一种可能的解决方法,是的。但我试图找到一种方法来做到这一点没有存储过程。 – yegor256 2011-05-31 19:50:18

+1

http://stackoverflow.com/questions/1044194/running-a-sql-script-using-mysql-with-jdbc – 2011-05-31 19:51:59

回答

2

你”一次重新执行一行,所以当然第二行失败,因为它取决于第一行。为什么不一次执行它?...

+0

看起来像这是唯一的方法,谢谢 – yegor256 2011-05-31 20:05:16

相关问题