You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-user@db.apache.org by Tony Seebregts <to...@cibecs.com> on 2005/09/29 11:22:30 UTC

Generated Keys and Triggers

Hi,

If I execute a statement that inserts a row into a table that has an 
attached trigger that inserts a row into another table I get anomalous 
results when trying to retrieve the generated keys using 
statement.getGeneratedKeys():

1. If the first table does not generate a key (because the generated key 
column was supplied) then getGeneratedKeys() returns the generated key 
for the row inserted by the trigger.

2. If the first table doe not generate a key (because the generated key 
column was not supplied or has a DEFAULT value) then getGeneratedKeys() 
returns only the generated key for the first table i.e. not for the row 
inserted by the trigger.

The ResultSetMetadata from the getGeneratedKeys does not contain any 
information other than the number of columns i.e. its impossible to 
determine which generated key is being returned.

Does anybody have a workaround for this ? (other than being *really* 
careful about the database design :-) ).

regards

Tony Seebregts