|
Помогите PLZ...JDBC сделать транзакцию не могу
|
|||
---|---|---|---|
#18+
Есть две таблицы - ЗАКАЗ, Список товаров, в заказе храним заказ, с вписке товаров содержимое товаров на этот заказ, связь через первичный ключ таблицы ЗАКАЗ, что нужно...добавляю новый заказ..а как узнать сгенеренное значение первичного ключа, чтобы его использовать для списка товаров ? в голову пришло тока два варианта - перед создванием строки заказа - получить MAX(ID) первичного ключа..и следовательно я знаю какой первичный ключ у меня будет после добавления...а если в это время еще кто заказ занесет....пришел что надо делать все в транзакции...читал читал мануалы но так и не понял как мне через SQL запрос все это сделать...(JDBC) по идеи нужно сделать нечто похожее на: EXEC SQL SET TRANSACTION READ ONLY ISOLATION LEVEL READ COMMITTED; EXEC SQL SET TRANSACTION NAME T1 READ COMMITTED; EXEC SQL SET TRANSACTION NAME T1 ISOLATION LEVEL READ COMMITTED; RESERVING ZAKAZ FOR ??? WRITE ??? И вот вообщем и все... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2003, 12:20 |
|
Помогите PLZ...JDBC сделать транзакцию не могу
|
|||
---|---|---|---|
#18+
Привет! 1) Идти на ibase.ru и читать статью про генераторы http://ibase.ru/devinfo/generator.htm 2) Забыть команду EXEC SQL - она применяется только в Embeded SQL, который получается на Си/Кобол/Ада... с помощью препроцессора gpre. 3) Читать Ibase.ru и книгу "мир Interbase" по 20 минут на ночь :) WBR, Alexey ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2003, 12:29 |
|
Помогите PLZ...JDBC сделать транзакцию не могу
|
|||
---|---|---|---|
#18+
>При работе в многопользовательских средах будьте внимательны - в то время >как вы получили "текущее" значение генератора, другое приложение может >его изменить, и таким образом "текущее" значение окажется устаревшим. >Тем более не рекомендуется использовать "текущее" значение генератора >для его последующего изменения. Вот эта проблема меня и привела к применению транзакций...Я и спрашивал...как мне получить последнее значение генератора+1 и при этом его использовать как первичный ключ...с помощью транзакции.. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2003, 12:34 |
|
Помогите PLZ...JDBC сделать транзакцию не могу
|
|||
---|---|---|---|
#18+
Привет! Код: plaintext 1. 2.
Ну там же написано - используй GEN_ID(generator, 1) Так ты гарантироанно получишь уникальное значение, которое и используй как первичный ключ - в INSERT его или в процедуре. А Код: plaintext
Короче говоря, еще раз внимательно прочитай эту и другие статьи на Ibase.ru по генераторам и транзакциям. WBR, Alexey ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2003, 12:59 |
|
|
start [/forum/topic.php?fid=40&fpage=529&tid=1580945]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
33ms |
get tp. blocked users: |
2ms |
others: | 10ms |
total: | 117ms |
0 / 0 |