Subject | Re: Getting a reference after insert |
---|---|
Author | rrokytskyy |
Post date | 2002-08-06T21:28:29Z |
Hi,
list :)
As far as I know there is no chance to get value of an ID generated
during execution of INSERT ... statement. You can either select next
ID directly before executing INSERT with
SELECT gen_id(my_generator, 1) FROM RDB$DATABASE
or you can get a block of IDs (for example 100) using
SELECT gen_id(my_generator, 100) FROM RDB$DATABASE
and then set them directly in your INSERT statement ("select ... from
rdb$database" returns you exactly one row). If you have other
applications that assume that ID is generated automatically, you can
modify your trigger so it does not generate new ID if your primary key
is not null.
But in general, such questions should be posted to IB-Support group,
you would get better feedback there.
Best regards,
Roman Rokytskyy
> Forgive my ignorance about SQL, but is there a way to get the primarySince you've used magic word "java" you're not bounced to IB-Support
> key back of a record that is inserted? I know I can do a search on the
> same record data, but it is not guaranteed to be distinct. Do any of
> the driver call return this to the calling java program?
list :)
As far as I know there is no chance to get value of an ID generated
during execution of INSERT ... statement. You can either select next
ID directly before executing INSERT with
SELECT gen_id(my_generator, 1) FROM RDB$DATABASE
or you can get a block of IDs (for example 100) using
SELECT gen_id(my_generator, 100) FROM RDB$DATABASE
and then set them directly in your INSERT statement ("select ... from
rdb$database" returns you exactly one row). If you have other
applications that assume that ID is generated automatically, you can
modify your trigger so it does not generate new ID if your primary key
is not null.
But in general, such questions should be posted to IB-Support group,
you would get better feedback there.
Best regards,
Roman Rokytskyy