![]() | |
![]() |
| | Thread Tools | Display Modes |
#11
| |||
| |||
|
|
I'm a novice, too, but why not look up the value in the sequence and increment it before doing any inserting? If you are doing all the inserts at the same time (more or less), then you can just use this value in the insert into both tables. Put all of this inside one transaction. |
#12
| |||
| |||
|
|
I'm a novice, too, but why not look up the value in the sequence and increment it before doing any inserting? If you are doing all the inserts at the same time (more or less), then you can just use this value in the insert into both tables. Put all of this inside one transaction. |
#13
| |||
| |||
|
|
Sean Davis wrote: I'm a novice, too, but why not look up the value in the sequence and increment it before doing any inserting? If you are doing all the inserts at the same time (more or less), then you can just use this value in the insert into both tables. Put all of this inside one transaction. That won't work if another process is trying to do the same thing at the same time. They both get the same value when they look it up, so there will be an ID collision. |
#14
| |||
| |||
|
|
On Mon, 9 Aug 2004, Oliver Fromme wrote: Sean Davis wrote: I'm a novice, too, but why not look up the value in the sequence and increment it before doing any inserting? If you are doing all the inserts at the same time (more or less), then you can just use this value in the insert into both tables. Put all of this inside one transaction. That won't work if another process is trying to do the same thing at the same time. They both get the same value when they look it up, so there will be an ID collision. It should be safe if you're using a sequence and using nextval() to get the value that you are using in both insert statements. A second session will not get the same value you just got from nextval barring a cycling sequence generator that wraps back to the same number between the nextval and insert. |
![]() |
| Thread Tools | |
| Display Modes | |
| |