powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Delete from в конце процедуры
16 сообщений из 16, страница 1 из 1
Delete from в конце процедуры
    #39925800
Фотография 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 нет.

айнидхелп...
...
Рейтинг: 0 / 0
Delete from в конце процедуры
    #39925803
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SUSPEND останавливает выполнение процедуры до следующего фетча.

Или всегда fetch all, или меняй логику
...
Рейтинг: 0 / 0
Delete from в конце процедуры
    #39925806
AltHasp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
descent52,

А что у вас с транзакциями (читающая, пишущая) ?
Может нужно почитать про транзакции на www.ibase.ru ?

Удачи !
...
Рейтинг: 0 / 0
Delete from в конце процедуры
    #39925809
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
descent52Есть таблица tmp_table

И она объявлена как temporary on commit delete?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Delete from в конце процедуры
    #39925811
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забыл добавить
descent52
Firebird 2.0
а что это ?
...
Рейтинг: 0 / 0
Delete from в конце процедуры
    #39925852
Фотография descent52
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
Забыл добавить
descent52
Firebird 2.0
а что это ?

В IBExperte пишет, что SERVER VERSION

Dimitry Sibiryakov

descent52Есть таблица tmp_table

И она объявлена как temporary on commit delete?

лежит в базе уже давно. Извините, а где быстренько посмотреть как она объявлена?

Ну а почему в 2.5 процедура выполняется и хвосты за собой затирает при всех тех же равных условиях?

Про suspend в конце... Всё так, да. Но в 2.5 работает, в 2.0 не работает!
...
Рейтинг: 0 / 0
Delete from в конце процедуры
    #39925860
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
descent52
Но в 2.5 работает, в 2.0 не работает!

Что именно не работает, где код?
...
Рейтинг: 0 / 0
Delete from в конце процедуры
    #39925864
Фотография descent52
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ёёёёё не выполянется delete from tmp_table; в самом конце процедуры )))))))))))))))
...
Рейтинг: 0 / 0
Delete from в конце процедуры
    #39925868
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
descent52Ну а почему в 2.5 процедура выполняется и хвосты за собой затирает при всех тех же равных условиях?

не более чем везение. Скорее всего просто префетч больше записей захватил и они все уместились.

З.Ы. Если будешь на 2.5 или 3.0 переходить сразу, то сразу юзай GLOBAL TEMPORARY TABLE.
А ещё лучше повнимательней взгляни на алгоритм, может быть можно вообще без временных таблиц обойтись.
...
Рейтинг: 0 / 0
Delete from в конце процедуры
    #39925876
Фотография descent52
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис, по своей кривой логике я бы изначально результат запихал бы в TEMPORARY TABLE, но...
Вызов этой самой процедуры еще в нескольких местах происходит, тут уже целая ссылочная цепочка из процедур, отчетов...
Как счас выпутаться, думаю сижу.
...
Рейтинг: 0 / 0
Delete from в конце процедуры
    #39925882
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 добавить, да.
...
Рейтинг: 0 / 0
Delete from в конце процедуры
    #39925894
Фотография descent52
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ёёёёё, ну да, когда крутилось и вертелось, вздымалось и сверкало в то время, когда не думалось и не гадалось, что столкнешься
с тем, что было когда тебя здесь еще и не было, а сегодня всё накрылось и надо обделаться малыми соплями, то самураям и не снилось, что он и не самурай, оказывается, потому как у него на лбу звезды нет, а не потому , что у него сикира под боком...
...
Рейтинг: 0 / 0
Delete from в конце процедуры
    #39925950
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
descent52
Но в 2.5 работает, в 2.0 не работает!
Ты fetch all сделал ?
...
Рейтинг: 0 / 0
Delete from в конце процедуры
    #39926122
Фотография descent52
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
Ты fetch all сделал ?

Извините за неграмотность, а как это в процедуре сделать? Не пойму намека(((

При вызове процедуры сделал
select * from XXX order by 1
, как бы протолкнул fetch, тогда всё удаляется.
...
Рейтинг: 0 / 0
Delete from в конце процедуры
    #39926129
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
descent52,

в TFDQuery есть свойство такое, там можно выбрать FetchAll. Но это не решение проблемы, а заметание её под ковёр.
...
Рейтинг: 0 / 0
Delete from в конце процедуры
    #39926242
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Модератор: Если нечего сказать, то лучше промолчать. Тем более обсуждение уже закончилось.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Delete from в конце процедуры
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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