db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Steve Ebersole <st...@hibernate.org>
Subject Re: Java stored procedure performing insert/update/delete
Date Thu, 01 Aug 2013 14:02:15 GMT
Looks like I am seeing https://issues.apache.org/jira/browse/DERBY-211

On Wed 31 Jul 2013 07:02:01 PM CDT, Steve Ebersole wrote:
> I am trying to work out how to define a Java stored procedure using
> Derby that performs a insert/update/delete and results in the proper
> "update count" on the JDBC client.  But I have so far been unsuccessful.
>
> Here is what I have...
>
> First, through JDBC I execute:
>
> create procedure deleteAllUsers()
> language java
> external name 'TheClass.deleteAllUsers'
> parameter style java
>
> TheClass.deleteAllUsers looks like:
>
> public static void deleteAllUsers() {
>     Connection conn = DriverManager.getConnection(
> "jdbc:default:connection" );
>     PreparedStatement ps = conn.prepareStatement( "delete from t_user" );
>     int count = ps.executeUpdate();
>     System.out.println( "Count : " + count );
>     ps.close();
>     conn.close();
> }
>
> And on the JDBC client side:
>
> Connection conn = ...;
> CallableStatement stmnt = conn.prepareCall( "{call deleteAllUsers()}" );
> // yes I know this could be stmnt.executeUpdate()...
> stmnt.execute();
> int count = stmnt.getUpdateCount();
>
>
> So the deleteAllUsers() prints the correct count.  But on the client,
> I always get zero (and not -1).
>
> Obviously I am doing something wrong.  Any pointers?
>
> Thanks,
> Steve

Mime
View raw message