|
Delete from в конце процедуры
|
|||
---|---|---|---|
#18+
Доброго времени суток. Firebird 2.0 Есть таблица tmp_table В процедуре XXX 1.удаляю данные из этой таблицы (tmp_table), 2. заполняю таблицу нужными данными (tmp_table), 3. Делаю select из tmp_table в выходные параметры 4. Пишу delete from tmp_table При вызове этой процедуры select * from XXX все данные выводятся, все хорошо, но данные в tmp_table НЕ УДАЛЯЮТСЯ. т.е. делаю select * from tmp_table и в этой таблице данные есть Всё тоже самое, но Firebird 2.5., после выполнения процедуры XXX, данных в tmp_table нет. айнидхелп... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2020, 16:01 |
|
Delete from в конце процедуры
|
|||
---|---|---|---|
#18+
SUSPEND останавливает выполнение процедуры до следующего фетча. Или всегда fetch all, или меняй логику ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2020, 16:04 |
|
Delete from в конце процедуры
|
|||
---|---|---|---|
#18+
descent52, А что у вас с транзакциями (читающая, пишущая) ? Может нужно почитать про транзакции на www.ibase.ru ? Удачи ! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2020, 16:06 |
|
Delete from в конце процедуры
|
|||
---|---|---|---|
#18+
descent52Есть таблица tmp_table И она объявлена как temporary on commit delete? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2020, 16:09 |
|
Delete from в конце процедуры
|
|||
---|---|---|---|
#18+
Забыл добавить descent52 Firebird 2.0 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2020, 16:10 |
|
Delete from в конце процедуры
|
|||
---|---|---|---|
#18+
hvlad Забыл добавить descent52 Firebird 2.0 В IBExperte пишет, что SERVER VERSION Dimitry Sibiryakov descent52Есть таблица tmp_table И она объявлена как temporary on commit delete? лежит в базе уже давно. Извините, а где быстренько посмотреть как она объявлена? Ну а почему в 2.5 процедура выполняется и хвосты за собой затирает при всех тех же равных условиях? Про suspend в конце... Всё так, да. Но в 2.5 работает, в 2.0 не работает! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2020, 16:45 |
|
Delete from в конце процедуры
|
|||
---|---|---|---|
#18+
descent52 Но в 2.5 работает, в 2.0 не работает! Что именно не работает, где код? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2020, 16:50 |
|
Delete from в конце процедуры
|
|||
---|---|---|---|
#18+
ёёёёё не выполянется delete from tmp_table; в самом конце процедуры ))))))))))))))) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2020, 17:03 |
|
Delete from в конце процедуры
|
|||
---|---|---|---|
#18+
descent52Ну а почему в 2.5 процедура выполняется и хвосты за собой затирает при всех тех же равных условиях? не более чем везение. Скорее всего просто префетч больше записей захватил и они все уместились. З.Ы. Если будешь на 2.5 или 3.0 переходить сразу, то сразу юзай GLOBAL TEMPORARY TABLE. А ещё лучше повнимательней взгляни на алгоритм, может быть можно вообще без временных таблиц обойтись. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2020, 17:04 |
|
Delete from в конце процедуры
|
|||
---|---|---|---|
#18+
Симонов Денис, по своей кривой логике я бы изначально результат запихал бы в TEMPORARY TABLE, но... Вызов этой самой процедуры еще в нескольких местах происходит, тут уже целая ссылочная цепочка из процедур, отчетов... Как счас выпутаться, думаю сижу. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2020, 17:11 |
|
Delete from в конце процедуры
|
|||
---|---|---|---|
#18+
descent52 Доброго времени суток. Firebird 2.0 Есть таблица tmp_table В процедуре XXX 1.удаляю данные из этой таблицы (tmp_table), 2. заполняю таблицу нужными данными (tmp_table), 3. Делаю select из tmp_table в выходные параметры 4. Пишу delete from tmp_table При вызове этой процедуры select * from XXX все данные выводятся, все хорошо, но данные в tmp_table НЕ УДАЛЯЮТСЯ. т.е. делаю select * from tmp_table и в этой таблице данные есть Всё тоже самое, но Firebird 2.5., после выполнения процедуры XXX, данных в tmp_table нет. айнидхелп... Можно, конечно, разбираться, но настоящему самураю обычно некогда. Вместо п.2 сразу пиши в выходные параметры, вот и пп. 3-4 не понадобятся. Не забудь suspend добавить, да. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2020, 17:16 |
|
Delete from в конце процедуры
|
|||
---|---|---|---|
#18+
ёёёёё, ну да, когда крутилось и вертелось, вздымалось и сверкало в то время, когда не думалось и не гадалось, что столкнешься с тем, что было когда тебя здесь еще и не было, а сегодня всё накрылось и надо обделаться малыми соплями, то самураям и не снилось, что он и не самурай, оказывается, потому как у него на лбу звезды нет, а не потому , что у него сикира под боком... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2020, 17:26 |
|
Delete from в конце процедуры
|
|||
---|---|---|---|
#18+
descent52 Но в 2.5 работает, в 2.0 не работает! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2020, 19:03 |
|
Delete from в конце процедуры
|
|||
---|---|---|---|
#18+
hvlad Ты fetch all сделал ? Извините за неграмотность, а как это в процедуре сделать? Не пойму намека((( При вызове процедуры сделал select * from XXX order by 1 , как бы протолкнул fetch, тогда всё удаляется. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2020, 10:01 |
|
Delete from в конце процедуры
|
|||
---|---|---|---|
#18+
descent52, в TFDQuery есть свойство такое, там можно выбрать FetchAll. Но это не решение проблемы, а заметание её под ковёр. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2020, 10:12 |
|
|
start [/forum/topic.php?fid=40&msg=39925876&tid=1560447]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
133ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 250ms |
0 / 0 |