|
Избавиться от холостого срабатывания генератора в insert into
|
|||
---|---|---|---|
#18+
При нахождении строки по tab2_id, typ2 происходит обновление, но срабатывает генератор gen_tab1_id и первичный ключ tab1_id меняется на новое значение, чего не надо при update , это необходимо только в случае, если по tab2_id, typ2 строка не найдена и сработал insert into , не могу сообразить, как для этого изменить запрос :) Код: sql 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2021, 03:05 |
|
Избавиться от холостого срабатывания генератора в insert into
|
|||
---|---|---|---|
#18+
Дергать генератор в триггере на вставку, а не в запросах. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2021, 04:01 |
|
Избавиться от холостого срабатывания генератора в insert into
|
|||
---|---|---|---|
#18+
Пока можно сказать, что выстрел себе в ногу в чистом виде, если будет ДДЛ, может и удастся нивелировать нехорошее впечатление от примера кода. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2021, 10:18 |
|
Избавиться от холостого срабатывания генератора в insert into
|
|||
---|---|---|---|
#18+
IBExpert Дергать генератор в триггере на вставку, а не в запросах. Не хотелось бы, но можно, если только так ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2021, 12:44 |
|
Избавиться от холостого срабатывания генератора в insert into
|
|||
---|---|---|---|
#18+
Ivan_Pisarevsky Пока можно сказать, что выстрел себе в ногу в чистом виде, если будет ДДЛ, может и удастся нивелировать нехорошее впечатление от примера кода. Как можно белее корректно решить задачу? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2021, 12:44 |
|
Избавиться от холостого срабатывания генератора в insert into
|
|||
---|---|---|---|
#18+
02.04.2021 12:44, antox пишет: > Как можно белее корректно решить задачу? никому не показывай DDL! Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2021, 12:47 |
|
Избавиться от холостого срабатывания генератора в insert into
|
|||
---|---|---|---|
#18+
И главное - не рассказывай что за задача. Пусть догадываются по кривым попыткам решения. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2021, 12:53 |
|
Избавиться от холостого срабатывания генератора в insert into
|
|||
---|---|---|---|
#18+
antox Как можно белее корректно решить задачу? Ivan_Pisarevsky если будет ДДЛ, может и удастся ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2021, 12:57 |
|
Избавиться от холостого срабатывания генератора в insert into
|
|||
---|---|---|---|
#18+
antox IBExpert Дергать генератор в триггере на вставку, а не в запросах. Не хотелось бы, но можно, если только так Запрет на использование триггеров? Логика на клиенте? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2021, 13:11 |
|
Избавиться от холостого срабатывания генератора в insert into
|
|||
---|---|---|---|
#18+
KreatorXXIЗапрет на использование триггеров? Не, это же придётся гуглить что такое триггеры и как их писать. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2021, 13:17 |
|
Избавиться от холостого срабатывания генератора в insert into
|
|||
---|---|---|---|
#18+
Еще вариант - раздельно делать апдейт и инсерт ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2021, 13:25 |
|
Избавиться от холостого срабатывания генератора в insert into
|
|||
---|---|---|---|
#18+
02.04.2021 13:25, a7exander пишет: > Еще вариант - раздельно делать апдейт и инсерт универсальный триггер это прекрасно умеет делать. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2021, 13:27 |
|
Избавиться от холостого срабатывания генератора в insert into
|
|||
---|---|---|---|
#18+
antox Как можно белее корректно решить задачу? попробуйте execute block ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2021, 13:29 |
|
Избавиться от холостого срабатывания генератора в insert into
|
|||
---|---|---|---|
#18+
Мимопроходящийуниверсальный триггер это прекрасно умеет делать. ну вдруг человеку это запрещено? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2021, 13:32 |
|
Избавиться от холостого срабатывания генератора в insert into
|
|||
---|---|---|---|
#18+
a7exander Еще вариант - раздельно делать апдейт и инсерт "update or insert" я использую, например, как лёгкую замену merge. В этом случае разделить нельзя. Возможно и у ТС такое. Скорее всего. Это удобно. Иначе городить запрос на проверку и ещё два запроса на изменение. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2021, 14:03 |
|
Избавиться от холостого срабатывания генератора в insert into
|
|||
---|---|---|---|
#18+
KreatorXXI antox пропущено... Не хотелось бы, но можно, если только так Запрет на использование триггеров? Логика на клиенте? Иногда хочется получать значение ключа перед вставкой, а с триггером же он снова генератор запросит, даже, если этого в данной ситуации было делать не надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2021, 15:50 |
|
Избавиться от холостого срабатывания генератора в insert into
|
|||
---|---|---|---|
#18+
a7exander Еще вариант - раздельно делать апдейт и инсерт Так совсем не хочется :) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2021, 15:51 |
|
Избавиться от холостого срабатывания генератора в insert into
|
|||
---|---|---|---|
#18+
KreatorXXI a7exander Еще вариант - раздельно делать апдейт и инсерт "update or insert" я использую, например, как лёгкую замену merge. В этом случае разделить нельзя. Возможно и у ТС такое. Скорее всего. Это удобно. Иначе городить запрос на проверку и ещё два запроса на изменение. Такое-то оно такое, только ID меняется на каждый чих :( ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2021, 15:53 |
|
Избавиться от холостого срабатывания генератора в insert into
|
|||
---|---|---|---|
#18+
Мимопроходящий 02.04.2021 13:25, a7exander пишет: > Еще вариант - раздельно делать апдейт и инсерт универсальный триггер это прекрасно умеет делать. "Универсальный" - тут ключевое? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2021, 15:54 |
|
Избавиться от холостого срабатывания генератора в insert into
|
|||
---|---|---|---|
#18+
antox Такое-то оно такое, только ID меняется на каждый чих :( ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2021, 15:54 |
|
Избавиться от холостого срабатывания генератора в insert into
|
|||
---|---|---|---|
#18+
antoxИногда хочется получать значение ключа перед вставкой Хочется - перехочется. Получай после. RTFM RETURNING. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2021, 15:58 |
|
Избавиться от холостого срабатывания генератора в insert into
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov И главное - не рассказывай что за задача. Пусть догадываются по кривым попыткам решения. Так задача в первом посте - если по двум полям (целому числовому и текстовому) совпадение, то третье числовое переписать, иначе добавить новую запись со значениями трёх этих полей + автоинкремент по ключу с генератора ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2021, 16:04 |
|
Избавиться от холостого срабатывания генератора в insert into
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov antoxИногда хочется получать значение ключа перед вставкой Хочется - перехочется. Получай после. RTFM RETURNING. RETURNING пользую, но да, оно всегда после... ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2021, 16:08 |
|
Избавиться от холостого срабатывания генератора в insert into
|
|||
---|---|---|---|
#18+
antox Иногда хочется получать значение ключа перед вставкой, а с триггером же он снова генератор запросит, даже, если этого в данной ситуации было делать не надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2021, 16:15 |
|
Избавиться от холостого срабатывания генератора в insert into
|
|||
---|---|---|---|
#18+
antoxИногда хочется получать значение ключа перед вставкой ну что за ересь - где в приведенном примере update or insert получение значения генератора ПЕРЕД вставкой??? Ладно бы как параметр передавалось. Но там же явно gen_id написан. Поэтому "перед" его никак не получить. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2021, 16:37 |
|
Избавиться от холостого срабатывания генератора в insert into
|
|||
---|---|---|---|
#18+
antoxТак задача в первом посте Нет, в первом посте как раз попытка кривого решения. Настоящим решением настоящей задачи скорее всего будет выкинуть вообще tab1_id из таблицы и построить первичный ключ по (tab2_id, typ2). Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2021, 18:14 |
|
Избавиться от холостого срабатывания генератора в insert into
|
|||
---|---|---|---|
#18+
antox При нахождении строки по tab2_id, typ2 происходит обновление, но срабатывает генератор gen_tab1_id и первичный ключ tab1_id меняется на новое значение, чего не надо при update , это необходимо только в случае, если по tab2_id, typ2 строка не найдена и сработал insert into , не могу сообразить, как для этого изменить запрос :) Код: sql 1. 2.
В триггере таблицы написать Код: sql 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2021, 18:17 |
|
Избавиться от холостого срабатывания генератора в insert into
|
|||
---|---|---|---|
#18+
kdv antoxИногда хочется получать значение ключа перед вставкой ну что за ересь - где в приведенном примере update or insert получение значения генератора ПЕРЕД вставкой??? Ладно бы как параметр передавалось. Но там же явно gen_id написан. Поэтому "перед" его никак не получить. Слово "Иногда" мы не читаем??? В приведенном примере оно не получается перед, в другом песте можно получить и перед. В случает использования триггера не знаю, как можно получить перед ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2021, 02:35 |
|
Избавиться от холостого срабатывания генератора в insert into
|
|||
---|---|---|---|
#18+
Dimbuch® antox При нахождении строки по tab2_id, typ2 происходит обновление, но срабатывает генератор gen_tab1_id и первичный ключ tab1_id меняется на новое значение, чего не надо при update , это необходимо только в случае, если по tab2_id, typ2 строка не найдена и сработал insert into , не могу сообразить, как для этого изменить запрос :) Код: sql 1. 2.
В триггере таблицы написать Код: sql 1. 2.
Классно! Спасибо, попробую так ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2021, 02:37 |
|
Избавиться от холостого срабатывания генератора в insert into
|
|||
---|---|---|---|
#18+
antox Слово "Иногда" мы не читаем??? В приведенном примере оно не получается перед, в другом песте можно получить и перед. В случает использования триггера не знаю, как можно получить перед А не будет ли так любезен многоуважаемый джинн поделиться сакральным знанием по получению "перед" в одном клиентском запросе со вставкой в каком угодно "песте"? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2021, 03:28 |
|
Избавиться от холостого срабатывания генератора в insert into
|
|||
---|---|---|---|
#18+
Старый плюшевый мишка antox Слово "Иногда" мы не читаем??? В приведенном примере оно не получается перед, в другом песте можно получить и перед. В случает использования триггера не знаю, как можно получить перед А не будет ли так любезен многоуважаемый джинн поделиться сакральным знанием по получению "перед" в одном клиентском запросе со вставкой в каком угодно "песте"? :) Когда мне надо Перед, я получаю в другое запросе от генератора, а в запрос insert into передаю в параметр готовое значение А триггер при таком раскладе "а в запрос insert into передаю в параметр готовое значение" все равно генератор перезапросит? По идее не должен, ведь id не null, а в триггере написано: Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2021, 11:36 |
|
Избавиться от холостого срабатывания генератора в insert into
|
|||
---|---|---|---|
#18+
antox А триггер при таком раскладе "а в запрос insert into передаю в параметр готовое значение" все равно генератор перезапросит? А взять и проверить, если терзают смутные сомнения? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2021, 12:11 |
|
|
start [/forum/topic.php?all=1&fid=40&tid=1560070]: |
0ms |
get settings: |
12ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
168ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
others: | 236ms |
total: | 522ms |
0 / 0 |