|
|
|
Возможен ли в FB 1.5.1 запрос Insert + Select???
|
|||
|---|---|---|---|
|
#18+
hvladу нас всегда есть ;) Спасибо. Оригинальная идея, можно будет какое-нить свое ПО промежуточного уровня замострячить. А в таких блоках будут все конструкции поддерживаться, которые можно реализовать в ХП??? hvladНе сложно - Генератор.curval не лучший способ вставить новое значение в таблицу ;) Или нужно всегда вставлять одно и то же ? ;) Необходимо просто получать ID вставленой записи и потом уже им оперировать, например, либо найти позицию в отсортированном наборе данных, либо вставить в другие связанные талбицы и т. п., а реализация ХП для таких "маленьких" операций не совсем мне нравится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 12:18:58 |
|
||
|
Возможен ли в FB 1.5.1 запрос Insert + Select???
|
|||
|---|---|---|---|
|
#18+
А хочется именно в одном запросе, потому что если хотя бы два клиента начнут добавлять записи в одну таблицу, то реализация одного обращения к базе я думаю будет проходить быстрее чем 2-х ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 12:23:51 |
|
||
|
Возможен ли в FB 1.5.1 запрос Insert + Select???
|
|||
|---|---|---|---|
|
#18+
следовательно и возможность получения неверного ID - меньше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 12:25:02 |
|
||
|
Возможен ли в FB 1.5.1 запрос Insert + Select???
|
|||
|---|---|---|---|
|
#18+
СерегаPl-SQL это, уважаемый, не расширение (чего расширяется то?) а процедурный язык. Извините за ошибку, но по сути это ничего не меняет. Мне нужно было реализовать такую возможность в FB, а не в Oracle. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 12:29:55 |
|
||
|
Возможен ли в FB 1.5.1 запрос Insert + Select???
|
|||
|---|---|---|---|
|
#18+
wolverinследовательно и возможность получения неверного ID - меньшеПри предварительном получении значения генератора с сервера вероятность получения неверного ID равна 0 (если не брать в расчет глюки оборудования, отрубание питания и еще чего-то в этом роде). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 12:31:45 |
|
||
|
Возможен ли в FB 1.5.1 запрос Insert + Select???
|
|||
|---|---|---|---|
|
#18+
wolverinМне нужно было реализовать такую возможность в FB, а не в Oracle. Ну дык тебе и объясняют как делать. Из-за того, что Оракл гарантирует корректность курвал на протяжении всей сессии, а в ИБ gen_id(Генератор,0) дает просто текущее значение и надо слегка переделать логику вставки и получать значение до нее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 12:45:50 |
|
||
|
Возможен ли в FB 1.5.1 запрос Insert + Select???
|
|||
|---|---|---|---|
|
#18+
Лентяй и СерегаПри предварительном получении значения генератора с сервера вероятность получения неверного ID равна 0 А какая разница - сначала получу я ID или после??? Работают 2 БЕШЕННЫХ пользователя с одной и тойже таблицей, производят вставку. Ситуация: Пусть беру ID сначала. Стечение обстоятельств и два пользователя получают один и тот же одинаковый ID (напомню это всего лишь пока последнее значение генератора), производят вставку и затем один из них уже оперирует неверным значениме ключа. Разве не так??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 12:50:25 |
|
||
|
Возможен ли в FB 1.5.1 запрос Insert + Select???
|
|||
|---|---|---|---|
|
#18+
Лентяй...вероятность получения неверного ID равна 0... Для клиента - да..., а что он с ним сделает... и что запишет в базу... Для защиты данных я бы тоже предпочел атономерацию без участия клиента (еслиб возвращалось ID), а то так ищи ее потом... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 12:57:16 |
|
||
|
Возможен ли в FB 1.5.1 запрос Insert + Select???
|
|||
|---|---|---|---|
|
#18+
wolverin Пусть беру ID сначала. Стечение обстоятельств и два пользователя получают один и тот же одинаковый ID (напомню это всего лишь пока последнее значение генератора), производят вставку и затем один из них уже оперирует неверным значениме ключа. Разве не так??? Не так! Если перед вставкой брать не текущее, а следующее gen_id(Генератор, 1 ), то такого не сможет произойти никогда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 12:57:21 |
|
||
|
Возможен ли в FB 1.5.1 запрос Insert + Select???
|
|||
|---|---|---|---|
|
#18+
СерегаЕсли перед вставкой брать не текущее, а следующее gen_id(Генератор, 1 ), то такого не сможет произойти никогда. Использование gen_id(Генератор,1) приведет к увеличению значения генератора клиентом, тоды в тригере нужно будет убрать new.ID=gen_id... правильно??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 13:05:25 |
|
||
|
Возможен ли в FB 1.5.1 запрос Insert + Select???
|
|||
|---|---|---|---|
|
#18+
wolverinИспользование gen_id(Генератор,1) приведет к увеличению значения генератора клиентом, тоды в тригере нужно будет убрать new.ID=gen_id... правильно??? Нет, не нужно. Нужно наоборот добавить if new.id is null then перед тем что есть. Посмотри как ИБЭксперт это делает на автомате. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 13:08:46 |
|
||
|
Возможен ли в FB 1.5.1 запрос Insert + Select???
|
|||
|---|---|---|---|
|
#18+
СерегаЕсли перед вставкой брать не текущее, а следующее gen_id(Генератор, 1 ), то такого не сможет произойти никогда. Идея понятна, СПАСИБА!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 13:09:30 |
|
||
|
Возможен ли в FB 1.5.1 запрос Insert + Select???
|
|||
|---|---|---|---|
|
#18+
--> Серега Блин, Вы меня от таких граблей избавили, а я еще о них даже не подозревал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 13:23:51 |
|
||
|
|

start [/forum/topic.php?fid=40&gotonew=1&tid=1578081]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
10ms |
get first new msg: |
6ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 385ms |

| 0 / 0 |
