powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите PLZ...JDBC сделать транзакцию не могу
5 сообщений из 5, страница 1 из 1
Помогите PLZ...JDBC сделать транзакцию не могу
    #32091715
klmn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть две таблицы - ЗАКАЗ, Список товаров, в заказе храним заказ, с вписке товаров содержимое товаров на этот заказ, связь через первичный ключ таблицы ЗАКАЗ, что нужно...добавляю новый заказ..а как узнать сгенеренное значение первичного ключа, чтобы его использовать для списка товаров ? в голову пришло тока два варианта - перед создванием строки заказа - получить 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 ???
И вот вообщем и все...
...
Рейтинг: 0 / 0
Помогите PLZ...JDBC сделать транзакцию не могу
    #32091728
Привет!

1) Идти на ibase.ru и читать статью про генераторы http://ibase.ru/devinfo/generator.htm

2) Забыть команду EXEC SQL - она применяется только в Embeded SQL, который получается на Си/Кобол/Ада... с помощью препроцессора gpre.

3) Читать Ibase.ru и книгу "мир Interbase" по 20 минут на ночь :)

WBR,
Alexey
...
Рейтинг: 0 / 0
Помогите PLZ...JDBC сделать транзакцию не могу
    #32091738
klmn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
>При работе в многопользовательских средах будьте внимательны - в то время >как вы получили "текущее" значение генератора, другое приложение может >его изменить, и таким образом "текущее" значение окажется устаревшим. >Тем более не рекомендуется использовать "текущее" значение генератора >для его последующего изменения.

Вот эта проблема меня и привела к применению транзакций...Я и спрашивал...как мне получить последнее значение генератора+1 и при этом его использовать как первичный ключ...с помощью транзакции..
...
Рейтинг: 0 / 0
Помогите PLZ...JDBC сделать транзакцию не могу
    #32091771
Привет!

Код: plaintext
1.
2.
>При работе в многопользовательских средах будьте внимательны - в то время >как вы получили  "текущее"  значение генератора, другое приложение может >его изменить, и таким образом  "текущее"  значение окажется устаревшим. >Тем более не рекомендуется использовать  "текущее"  значение генератора >для его последующего изменения. 

Вот эта проблема меня и привела к применению транзакций...Я и спрашивал...как мне получить последнее значение генератора+ 1  и при этом его использовать как первичный ключ...с помощью транзакции..


Ну там же написано - используй
GEN_ID(generator, 1)
Так ты гарантироанно получишь уникальное значение, которое и используй как первичный ключ - в INSERT его или в процедуре.

А
Код: plaintext
...с помощью транзакции
- эта фраза мне вообще не понятна.

Короче говоря, еще раз внимательно прочитай эту и другие статьи на Ibase.ru по генераторам и транзакциям.


WBR,
Alexey
...
Рейтинг: 0 / 0
Помогите PLZ...JDBC сделать транзакцию не могу
    #32091836
klmn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все понял с генератором..спасибо...
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите PLZ...JDBC сделать транзакцию не могу
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]