Hello Jesse,
Most data definition language statements are not currently
transactional.  It's on the Roadmap for future development, but a lot
of the major databases don't include this feature, so it isn't on the
priority-1 list.

Cheers,
Bob McGee

On Jul 21, 9:45 am, Jesse Long <[email protected]> wrote:
> Hi,
>
> How do a execute multiple statements using JDBC as one atomic transaction?
>
> I'm using 1.1.116.
>
> I have tried the code below, but table xyz is always created. The second
> executeUpdate() always throws an SQLException, and the rollback is
> performed, but the table still exists?
>
> Class.forName("org.h2.Driver");
> Connection conn = DriverManager.getConnection("jdbc:h2:/tmp/x", "sa", "");
> try {
>     conn.setAutoCommit(false);
>     Statement sth = conn.createStatement();
>     try {
>         try {
>             sth.executeUpdate("create table xyz(id int)");
>             sth.executeUpdate("some invalid sql");
>             conn.commit();
>         }catch (SQLException exception){
>             conn.rollback();
>         }
>     }finally{
>         sth.close();
>     }
>
> }finally{
>     conn.close();
> }
>
> Thanks,
> Jesse
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/h2-database?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to