|
Проблема при одновременном INSERT + SELECT
|
|||
---|---|---|---|
#18+
Скорее всего проблема вызвана стабильностью курсора Есть процедура, которая вставляет записи в таблицу и возвращает их ID Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30.
Хочу сделать JOIN с процедурой для получения самой записи. Исходный запрос Код: sql 1. 2. 3.
Получаю id id11 null2 null3 null4 null5 null Хм... Значит попробуем выбрать все записи, добавим сортировку Код: sql 1. 2. 3. 4. 5.
Получаю совсем странный результатid id16 null7 78 89 910 10 Такой запрос дает результат аналогичный предыдущему Код: sql 1. 2. 3. 4. 5.
Такая модификация процедуры позволяет обойти проблему. В случае с GTT это можно использовать Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
Проверено на fb 3.0.4 На fb 2.5 ошибки нет (что ожидаемо) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2019, 23:41 |
|
Проблема при одновременном INSERT + SELECT
|
|||
---|---|---|---|
#18+
Шавлюк Евгений, это же какая-то фантастическая ахинея - вставлять записи в таблицу и тут же "типа это" джойнить с ней же. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2019, 01:04 |
|
Проблема при одновременном INSERT + SELECT
|
|||
---|---|---|---|
#18+
kdv, мне просто интересно - мой коммент самый удачный? Настолько, что дальнейшее обсуждение не требуется? Просто поразила фантазия автора. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2019, 23:08 |
|
Проблема при одновременном INSERT + SELECT
|
|||
---|---|---|---|
#18+
побочные эффекты в селективной процедуре это уже плохо. Ибо само по себе мало предсказуемо в особенности с JOIN ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2019, 23:40 |
|
Проблема при одновременном INSERT + SELECT
|
|||
---|---|---|---|
#18+
Симонов Дениспобочные эффекты в селективной процедуре это уже плохо. Ибо само по себе мало предсказуемо в особенности с JOIN Особенно когда по привычке/невнимательности этот селект коммитишь - он же ничего не сделал типа :) А уж в случае исключения не в первой строке :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2019, 01:53 |
|
Проблема при одновременном INSERT + SELECT
|
|||
---|---|---|---|
#18+
Шавлюк Евгений, собственно, раз это связано с нестабильностью курсора, то если это "работает" на 2.5, то работает неправильно, а на 3.0 - правильно. Заклад на специфику реализации конкретной версии - это всегда плохо, потому что как только неправильное поведение меняется на исправленное, то перестает работать "как было". ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2019, 12:15 |
|
Проблема при одновременном INSERT + SELECT
|
|||
---|---|---|---|
#18+
Зачем мне была нужна такая странная процедура Есть сложный рекурсивный расчет (набор значений), где нужны и промежуточные значения. Процедура записывает данные в GTT и вместо всего набора значений возвращает только ID записи с результатом. А дальше во внешнем запросе (JOIN) для различных отчетов можно выбирать только нужные столбцы. Сейчас я изменил процедуру так что она возвращает все значения. Но я считаю, что такое поведение firebird не корректно ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2019, 16:33 |
|
Проблема при одновременном INSERT + SELECT
|
|||
---|---|---|---|
#18+
Шавлюк Евгений, а я считаю поведение разработчика, который делает JOIN с хранимой процедурой модифицирующей данные, не корректным. Да и вообще SELECT предполагает, что никаких изменений не делается. SQL по своей природе декларативный язык, а это обозначает, что мы не можем закладываться на порядок выполнения отдельных его частей. И это не только в Firebird. В тройке поправили стабильность курсора, но работает она ровно до тех пор, пока suspend не будет воткнут внутрь курсора, ибо suspend разрывает сейвпойнт. Если хочешь правильного поведения, то сначала надо вставить записи, а потом их выбирать, а не попеременно. Шавлюк ЕвгенийПроцедура записывает данные в GTT и вместо всего набора значений возвращает только ID записи с результатом. так и пусть записывает. Делай так Код: sql 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2019, 17:12 |
|
Проблема при одновременном INSERT + SELECT
|
|||
---|---|---|---|
#18+
Шавлюк Евгений, верни RDB$DB_KEY ? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2019, 16:53 |
|
Проблема при одновременном INSERT + SELECT
|
|||
---|---|---|---|
#18+
Arioch, А какая разница если данных не видно из-за особенностей курсора? Ну и результат не отличается от поиска по ID ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2019, 17:59 |
|
Проблема при одновременном INSERT + SELECT
|
|||
---|---|---|---|
#18+
Шавлюк ЕвгенийArioch, А какая разница если данных не видно из-за особенностей курсора? Ну и результат не отличается от поиска по ID А что мешает складывать агрегаты во вторую временную табличку? Я книшку прочитал про DWH, создал себе набор временных табличек с измерениями, фактами, атрибутами и до кучи с агрегатами. И все мясорубные отчеты через них делаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2019, 08:10 |
|
Проблема при одновременном INSERT + SELECT
|
|||
---|---|---|---|
#18+
pastor, что за книжка ? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2019, 17:37 |
|
Проблема при одновременном INSERT + SELECT
|
|||
---|---|---|---|
#18+
Ariochpastor, что за книжка ? "D:\Книги\Программирование\DWH\MSSQL-Kimball_files" "D:\Книги\Программирование\DWH\Digital Press - Oracle9iR2 Data Warehousing - 2003.chm" "D:\Книги\Программирование\DWH\Idef1x.pdf" "D:\Книги\Программирование\DWH\John Wiley & Sons - IBM Data Warehousing. With IBM Business Intelligence Tools.pdf" "D:\Книги\Программирование\DWH\MSSQL-Kimball.htm" "D:\Книги\Программирование\DWH\Prentice Hall PTR - Oracle DBA Guide to Data Warehousing and Star Schemas.chm" "D:\Книги\Программирование\DWH\Wiley & Sons - Building The Data Warehouse. Third Edition.pdf" "D:\Книги\Программирование\DWH\Wiley & Sons - The Data Warehouse Toolkit. Second Edition.pdf" ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2019, 20:25 |
|
Проблема при одновременном INSERT + SELECT
|
|||
---|---|---|---|
#18+
Среди нас маньяк. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2019, 20:50 |
|
Проблема при одновременном INSERT + SELECT
|
|||
---|---|---|---|
#18+
04.10.2019 20:50, Vlad F пишет: > Среди нас маньяк. несексуальный... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 11:54 |
|
Проблема при одновременном INSERT + SELECT
|
|||
---|---|---|---|
#18+
Название придумал: "Синдром Плюшкина и архитектура операционных баз данных" ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 12:06 |
|
Проблема при одновременном INSERT + SELECT
|
|||
---|---|---|---|
#18+
Arioch, чую, за умение читать опять сжигать начнут. может оно так и надо. пятикнижие простолюдинам ни к чему. будет с них псалтыря. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 12:13 |
|
Проблема при одновременном INSERT + SELECT
|
|||
---|---|---|---|
#18+
Тут ещё есть такой момент pastorЯ книшку прочитал про DWH Проговорено было про некую особо удачную книгу, повлиявшую на программиста, открывшую ему глаза. На вопрос про источник озарения - дамп всех книжек, случившихся на пути поиска Той Единственной Самой Важной. Ну вот так это со стороны выглядит. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 12:53 |
|
Проблема при одновременном INSERT + SELECT
|
|||
---|---|---|---|
#18+
AriochТут ещё есть такой момент pastorЯ книшку прочитал про DWH Проговорено было про некую особо удачную книгу, повлиявшую на программиста, открывшую ему глаза. На вопрос про источник озарения - дамп всех книжек, случившихся на пути поиска Той Единственной Самой Важной. Ну вот так это со стороны выглядит. у любой информации есть не только источник, но и приемник. за особенности восприятия на приемнике - я пас. ЗЫ 1. да я умею читать 2. я могу читать не на русском 3. я могу прочитать более одной книжки за день 4. это не дамп, это книжки, которые я посчитал нужным и полезным оставить 5. я воспринимаю это как один источник информации. детали выбрасываю из памяти при переходе к другой задаче, использованные источники стараюсь сохранить ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 13:08 |
|
Проблема при одновременном INSERT + SELECT
|
|||
---|---|---|---|
#18+
07.10.2019 13:08, pastor пишет: > > у любой информации есть не только источник, но и приемник. > за особенности восприятия на приемнике - я пас. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 13:12 |
|
Проблема при одновременном INSERT + SELECT
|
|||
---|---|---|---|
#18+
Мимопроходящий, - а где Ленин? - написано же, "Ленин в Польше" ! ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 13:38 |
|
|
start [/forum/topic.php?fid=40&msg=39871807&tid=1560554]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
130ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
others: | 268ms |
total: | 502ms |
0 / 0 |