powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Возможен ли в FB 1.5.1 запрос Insert + Select???
14 сообщений из 39, страница 2 из 2
Возможен ли в FB 1.5.1 запрос Insert + Select???
    #32648443
Фотография wolverin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladу нас всегда есть ;)
Спасибо. Оригинальная идея, можно будет какое-нить свое ПО промежуточного уровня замострячить. А в таких блоках будут все конструкции поддерживаться, которые можно реализовать в ХП???

hvladНе сложно - Генератор.curval не лучший способ вставить новое значение в таблицу ;) Или нужно всегда вставлять одно и то же ? ;)
Необходимо просто получать ID вставленой записи и потом уже им оперировать, например, либо найти позицию в отсортированном наборе данных, либо вставить в другие связанные талбицы и т. п., а реализация ХП для таких "маленьких" операций не совсем мне нравится
...
Рейтинг: 0 / 0
Возможен ли в FB 1.5.1 запрос Insert + Select???
    #32648454
Фотография wolverin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А хочется именно в одном запросе, потому что если хотя бы два клиента начнут добавлять записи в одну таблицу, то реализация одного обращения к базе я думаю будет проходить быстрее чем 2-х
...
Рейтинг: 0 / 0
Возможен ли в FB 1.5.1 запрос Insert + Select???
    #32648456
Фотография wolverin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
следовательно и возможность получения неверного ID - меньше
...
Рейтинг: 0 / 0
Возможен ли в FB 1.5.1 запрос Insert + Select???
    #32648473
Фотография wolverin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СерегаPl-SQL это, уважаемый, не расширение (чего расширяется то?) а процедурный язык.
Извините за ошибку, но по сути это ничего не меняет. Мне нужно было реализовать такую возможность в FB, а не в Oracle.
...
Рейтинг: 0 / 0
Возможен ли в FB 1.5.1 запрос Insert + Select???
    #32648478
Лентяй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wolverinследовательно и возможность получения неверного ID - меньшеПри предварительном получении значения генератора с сервера вероятность получения неверного ID равна 0 (если не брать в расчет глюки оборудования, отрубание питания и еще чего-то в этом роде).
...
Рейтинг: 0 / 0
Возможен ли в FB 1.5.1 запрос Insert + Select???
    #32648525
Серега
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wolverinМне нужно было реализовать такую возможность в FB, а не в Oracle.
Ну дык тебе и объясняют как делать. Из-за того, что Оракл гарантирует корректность курвал на протяжении всей сессии, а в ИБ gen_id(Генератор,0) дает просто текущее значение и надо слегка переделать логику вставки и получать значение до нее.
...
Рейтинг: 0 / 0
Возможен ли в FB 1.5.1 запрос Insert + Select???
    #32648543
Фотография wolverin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лентяй и СерегаПри предварительном получении значения генератора с сервера вероятность получения неверного ID равна 0
А какая разница - сначала получу я ID или после???
Работают 2 БЕШЕННЫХ пользователя с одной и тойже таблицей, производят вставку.
Ситуация:
Пусть беру ID сначала. Стечение обстоятельств и два пользователя получают один и тот же одинаковый ID (напомню это всего лишь пока последнее значение генератора), производят вставку и затем один из них уже оперирует неверным значениме ключа.
Разве не так???
...
Рейтинг: 0 / 0
Возможен ли в FB 1.5.1 запрос Insert + Select???
    #32648565
olol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лентяй...вероятность получения неверного ID равна 0...

Для клиента - да..., а что он с ним сделает... и что запишет в базу...

Для защиты данных я бы тоже предпочел атономерацию без участия клиента (еслиб возвращалось ID), а то так ищи ее потом...
...
Рейтинг: 0 / 0
Возможен ли в FB 1.5.1 запрос Insert + Select???
    #32648566
Серега
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wolverin
Пусть беру ID сначала. Стечение обстоятельств и два пользователя получают один и тот же одинаковый ID (напомню это всего лишь пока последнее значение генератора), производят вставку и затем один из них уже оперирует неверным значениме ключа.
Разве не так???
Не так! Если перед вставкой брать не текущее, а следующее gen_id(Генератор, 1 ), то такого не сможет произойти никогда.
...
Рейтинг: 0 / 0
Возможен ли в FB 1.5.1 запрос Insert + Select???
    #32648603
Фотография wolverin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СерегаЕсли перед вставкой брать не текущее, а следующее gen_id(Генератор, 1 ), то такого не сможет произойти никогда.
Использование gen_id(Генератор,1) приведет к увеличению значения генератора клиентом, тоды в тригере нужно будет убрать new.ID=gen_id... правильно???
...
Рейтинг: 0 / 0
Возможен ли в FB 1.5.1 запрос Insert + Select???
    #32648618
Серега
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wolverinИспользование gen_id(Генератор,1) приведет к увеличению значения генератора клиентом, тоды в тригере нужно будет убрать new.ID=gen_id... правильно???
Нет, не нужно. Нужно наоборот добавить if new.id is null then перед тем что есть. Посмотри как ИБЭксперт это делает на автомате.
...
Рейтинг: 0 / 0
Возможен ли в FB 1.5.1 запрос Insert + Select???
    #32648621
Фотография wolverin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СерегаЕсли перед вставкой брать не текущее, а следующее gen_id(Генератор, 1 ), то такого не сможет произойти никогда.
Идея понятна, СПАСИБА!!!
...
Рейтинг: 0 / 0
Возможен ли в FB 1.5.1 запрос Insert + Select???
    #32648659
Фотография wolverin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--> Серега
Блин, Вы меня от таких граблей избавили, а я еще о них даже не подозревал
...
Рейтинг: 0 / 0
Возможен ли в FB 1.5.1 запрос Insert + Select???
    #32649170
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wolverinА в таких блоках будут все конструкции поддерживаться, которые можно реализовать в ХП???Да, абсолютно все.

По генераторам тут ужё и без меня ответили ;)
...
Рейтинг: 0 / 0
14 сообщений из 39, страница 2 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Возможен ли в FB 1.5.1 запрос Insert + Select???
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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