|
|
|
Помогите 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&msg=32091728&tid=1580945]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 223ms |
| total: | 331ms |

| 0 / 0 |
