|
Как просмотреть список удаленных записей
|
|||
---|---|---|---|
#18+
Добрый день! Допустим, удалил некоторые записи командой DELETE, в FoxPro они физически не удаляются. Возникает вопрос: как сделать отбор именно удаленных записей для просмотра и как впоследствии при необходимости восстановить их? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2009, 14:43 |
|
Как просмотреть список удаленных записей
|
|||
---|---|---|---|
#18+
Deleted() ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2009, 16:57 |
|
Как просмотреть список удаленных записей
|
|||
---|---|---|---|
#18+
Recall() ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2009, 16:58 |
|
Как просмотреть список удаленных записей
|
|||
---|---|---|---|
#18+
А конкретно SQL-запросом как? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2009, 17:04 |
|
Как просмотреть список удаленных записей
|
|||
---|---|---|---|
#18+
В принципе, это возможно такой командой Код: plaintext 1. 2. 3.
Однако сама постановка вопроса говорит о том, что вы где-то серьезно ошиблись в проектировании приложения. Удаленные записи не должны восстанавливаться. "Умерла, так умерла". Физически они удаляются последующей командой PACK, которая дается раз в неделю/месяц/год администратором базы данных в зависимости от интенсивности удаления записей в вашем приложении. Да, понятно, вы начнете рассказывать сказки про то, что пользователь ошибся, произошел сбой и т.д. и т.п. Это все понятно, но, тем не менее, не является оправданием. Проблема не в том, что это физически невозможно, а в том, что, как правило, удаляется не отдельные записи в отдельной таблице, а набор взаимосвязанных записей во множестве таблиц. Причем это все еще сопровождается различными расчетами, результат которых записывается в самые разные таблицы. Ну, например, удаление записи о приеме товара на склад должно вызвать удаление записей из таблиц документов и строк документов. А также изменить доступный остаток в карточке товара. Хотите восстановить документ? Так вам придется озаботится поиском всех связанных записей и пересчетом остатков. Оно вам надо? Гораздо проще во всех смыслах завести документ заново. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2009, 17:46 |
|
Как просмотреть список удаленных записей
|
|||
---|---|---|---|
#18+
ВладимирМ, а оправдываться тут нечему, т.к. пишу приложение под базу, сделанную под старую программу, написанную не мной. За ответ спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2009, 18:03 |
|
Как просмотреть список удаленных записей
|
|||
---|---|---|---|
#18+
VadyА конкретно SQL-запросом как? А без SQL-запроса вы не умеете ? :) Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2009, 18:35 |
|
Как просмотреть список удаленных записей
|
|||
---|---|---|---|
#18+
reware, мне вполне достаточно того ответа: Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2009, 18:57 |
|
Как просмотреть список удаленных записей
|
|||
---|---|---|---|
#18+
Vadyreware, мне вполне достаточно того ответа: Код: plaintext
Вы удивитесь, но условие в FOR в команде COPY абсолютно совпадает с условием WHERE в команде SELECT. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2009, 20:08 |
|
Как просмотреть список удаленных записей
|
|||
---|---|---|---|
#18+
rewareVadyА конкретно SQL-запросом как? А без SQL-запроса вы не умеете ? :) Код: plaintext 1.
Есть один нюанс. COPY TO физически создает таблицу на диске. И для ее удаления надо будет удалять именно файл с диска. Команда Select-SQL может создать курсор или массив. Т.е. либо физически файл на диске создан не будет, либо он будет удален автоматически в момент закрытия курсора. Кроме того, COPY TO учитывает все наложенные ограничения на таблицу. Т.е. например, если есть фильтр SET FILTER, то COPY TO выгрузит данные с учетом этого фильтра. А Select-SQL подобный фильтр проигнорирует. Впрочем, что именно использовать зависит от задачи. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.08.2009, 12:45 |
|
|
start [/forum/topic.php?fid=41&msg=36169199&tid=1586111]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
39ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 340ms |
total: | 472ms |
0 / 0 |