powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Проблема удаленных(удаления) записей в Transact-SQL
15 сообщений из 15, страница 1 из 1
Проблема удаленных(удаления) записей в Transact-SQL
    #36534631
PWP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PWP
Гость
Подскажите пож-та. Возможно ли при работе со свободной таблицей Foxpro через ODBC драйвер и запрос выборки по SQL типа "select id1,i2 from table1" и обработке последующего ResultSet определить помечена ли запись на удаление или нет ?
2) Запрос типа " set exclusive on ; delete from Table1 ; pack" удаляет все записи из таблицы(вернее
помечает на удаление, а вот PACK не всегда(?) срабатывает, иногда записи остаются. Здесь вмешиваются какие то временнЫе характеристики, поскольку если после
этой операции открывать таблицу в Foxpro, она некоторое время оказывается занятой (5-20 сек.)
...
Рейтинг: 0 / 0
Проблема удаленных(удаления) записей в Transact-SQL
    #36534696
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
объясните:
при чем здесь транзакт скл,
драйвер одибиси и свободная таблица фокспро.

иными словами:
каким боком транзакт скл касается свободн.таблиц фокспро?
...
Рейтинг: 0 / 0
Проблема удаленных(удаления) записей в Transact-SQL
    #36534697
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Команда PACK физически пересоздает таблицу. Т.е. удаляет и создает заново с тем же именем. Поэтому на время выполнения данной операции она и "занята"

Если в команде Select-SQL указано больше одной таблицы-источника, то выделить записи помеченные как удаленные - невозможно. Если только одна таблица-источник, то можно, но лучше не надо

Строго говоря, записи, помеченные как удаленные, обычно просто скрывают (прячут) настройкой

Код: plaintext
SET DELETED ON

Здесь несколько не логичная настройка: ON - прячет (учитывает, скрывает) записи, помеченные как удаленные, а OFF - отображает (не учитывает, открывает) записи, помеченные как удаленные.

По сути, накладывают некий глобальный фильтр, который автоматически отсекает подобные записи.
...
Рейтинг: 0 / 0
Проблема удаленных(удаления) записей в Transact-SQL
    #36534770
PWP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PWP
Гость
прошелмимообъясните:
при чем здесь транзакт скл,
драйвер одибиси и свободная таблица фокспро. иными словами:
каким боком транзакт скл касается свободн.таблиц фокспро?
Работа должна идти из программы, ну скажем , на С++ или X++ и нужно сформировать DBF-таблицу через SQL запросы ( а перед этим хотелось бы ее вычистить)
ВладимирМКоманда PACK физически пересоздает таблицу. Т.е. удаляет и создает заново с тем же именем. Поэтому на время выполнения данной операции она и "занята"....

Да в самом Foxpro как работать с этими записями мне понятно. Нужно с ними немного поработать
нк из Fox см. выше. А читая записи, полученные в ResultSet через SQL запрос пока не понимаю,
как отличить помеченные на удаление записи....
...
Рейтинг: 0 / 0
Проблема удаленных(удаления) записей в Transact-SQL
    #36534791
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что Вы хотите получить в результате:

1. Сделать выборку по ВСЕМ записям, но отличить те, которые были помечены как удаленные. Зачем это надо?

2. Сделать выборку только по тем записям, которые НЕ помечены как удаленные. Это делает настройка SET DELETED ON
...
Рейтинг: 0 / 0
Проблема удаленных(удаления) записей в Transact-SQL
    #36534844
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PWPпрошелмимообъясните:
при чем здесь транзакт скл,
драйвер одибиси и свободная таблица фокспро. иными словами:
каким боком транзакт скл касается свободн.таблиц фокспро?
Работа должна идти из программы, ну скажем , на С++ или X++ и нужно сформировать DBF-таблицу через SQL запросы ( а перед этим хотелось бы ее вычистить)
ВладимирМКоманда PACK физически пересоздает таблицу. Т.е. удаляет и создает заново с тем же именем. Поэтому на время выполнения данной операции она и "занята"....

Да в самом Foxpro как работать с этими записями мне понятно. Нужно с ними немного поработать
нк из Fox см. выше. А читая записи, полученные в ResultSet через SQL запрос пока не понимаю,
как отличить помеченные на удаление записи....

при чем здесь транзакт-скл?
Вы просто увидели где-то и запомнили умное слово?

паковать не нужно постоянно
Вы запрос пробовали:
Код: plaintext
1.
2.
select * from tt where deleted()
select * from tt where !deleted()
?
...
Рейтинг: 0 / 0
Проблема удаленных(удаления) записей в Transact-SQL
    #36534858
PWP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PWP
Гость
ВладимирМЧто Вы хотите получить в результате:
1. Сделать выборку по ВСЕМ записям, но отличить те, которые были помечены как удаленные. Зачем это надо?
Пишу экспорт\импорт на языке C++ через DBF таблицы. Если после экспорта с неполным удалением сделать импорт, то записей в выходную таблицу пойдет в 2 раза больше.
ВладимирМ
2. Сделать выборку только по тем записям, которые НЕ помечены как удаленные. Это делает настройка SET DELETED ON
Спасибо, это мысль. Попробую сейчас.А то уже хотел свое поле заводить для удаленных записей...
Дело в том, что таких таблиц у меня несколько, если делать подряд экспорт, то у части таблиц
зависают.. удаленные записи, т.е. PACK не выполняется. Вот хотел их обойти хотя бы при импорте...хотя это как то тоже криво..
...
Рейтинг: 0 / 0
Проблема удаленных(удаления) записей в Transact-SQL
    #36534916
PWP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PWP
Гость
ВладимирМ
SET DELETED ON

Спасибо еще раз. Это работает.
прошелмимо
при чем здесь транзакт-скл?
Вы просто увидели где-то и запомнили умное слово?

паковать не нужно постоянно
Вы запрос пробовали:
Код: plaintext
1.
2.
select * from tt where deleted()
select * from tt where !deleted()
?
Каюсь, наверное запомнил умное слово. Больше не повторится...
А про ... where deteted() спасибо, попробую.
...
Рейтинг: 0 / 0
Проблема удаленных(удаления) записей в Transact-SQL
    #36534942
PWP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PWP
Гость
прошелмимоВы запрос пробовали:
Код: plaintext
1.
2.
select * from tt where deleted()
select * from tt where !deleted()
?
Спасибо, это тоже работает. Но с упаковкой тоже нужно что то делать... Можно, конечно, удалять таблицу и заводить по новой, но как то без FoxPro не больно удобно..
...
Рейтинг: 0 / 0
Проблема удаленных(удаления) записей в Transact-SQL
    #36534955
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PWPпрошелмимоВы запрос пробовали:
Код: plaintext
1.
2.
select * from tt where deleted()
select * from tt where !deleted()
?
Спасибо, это тоже работает. Но с упаковкой тоже нужно что то делать... Можно, конечно, удалять таблицу и заводить по новой, но как то без FoxPro не больно удобно..

ну так упакуйте ее единожды,
попляшите с бубном,
затем в заключительном па
проведите упаковку если уж так нужно.

но в идеале, наличие или отсутствие
удаленных записей ни на что не влияет.
...
Рейтинг: 0 / 0
Проблема удаленных(удаления) записей в Transact-SQL
    #36534979
PWP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PWP
Гость
прошелмимо

но в идеале, наличие или отсутствие
удаленных записей ни на что не влияет.
Ну это , действительно, в идеале, а если не поставить ".. where !(deleted)", то очень даже влияет.
В общем, еще раз спасибо всем, принявшим участие, думаю вопрос можно прикрыть на этом этапе.
...
Рейтинг: 0 / 0
Проблема удаленных(удаления) записей в Transact-SQL
    #36535009
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PWPпрошелмимо

но в идеале, наличие или отсутствие
удаленных записей ни на что не влияет.
Ну это , действительно, в идеале, а если не поставить ".. where !(deleted)", то очень даже влияет.
В общем, еще раз спасибо всем, принявшим участие, думаю вопрос можно прикрыть на этом этапе.

where !(deleted)

гы, это и есть тот идеал

т.е. при написании запроса Вы сразу подразумеваете,
что в табличке будет "мусор",
который и не будет влиять

пы сы: для 9-ки с бинарным индексом по условию делетед
такой запрос будет оптимизируемым.
...
Рейтинг: 0 / 0
Проблема удаленных(удаления) записей в Transact-SQL
    #36535046
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: ВладимирМ

Ничего не понял.
Автор топика PWPРабота должна идти из программы, ну скажем , на С++ или X++ и нужно сформировать DBF-таблицу
через SQL запросы ( а перед этим хотелось бы ее вычистить)

> 2. Сделать выборку только по тем записям, которые НЕ помечены как удаленные. Это делает настройка SET DELETED ON

Каким образом программа написанная на Х++ может воспользоватся настройкой фокспро?

> Что Вы хотите получить в результате:

Я так и не понял, почему-то просто создавать DBF-файл автор не хочет.
Или если нужно просто прочитать из DBF-файла данные и только не помеченные как удаленные, то изучив
структуру DBF и обратив особое внимание
на значение по смещению 10-11 байт можно получить и флаг удаленности записи.

Но каким-то образом автор ушел удовлетворённый.
непонятно (с) Не помню кто

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Проблема удаленных(удаления) записей в Transact-SQL
    #36535199
PWP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PWP
Гость
Игорь Горбонос
> Автор: ВладимирМ

Ничего не понял.
Автор топика PWPРабота должна идти из программы, ну скажем , на С++ или X++ и нужно сформировать DBF-таблицу
через SQL запросы ( а перед этим хотелось бы ее вычистить)

> 2. Сделать выборку только по тем записям, которые НЕ помечены как удаленные. Это делает настройка SET DELETED ON
Ну это на форуме и выяснилось...

Игорь Горбонос
Каким образом программа написанная на Х++ может воспользоватся настройкой фокспро?

> Что Вы хотите получить в результате:

Я так и не понял, почему-то просто создавать DBF-файл автор не хочет.
Или если нужно просто прочитать из DBF-файла данные и только не помеченные как удаленные, то изучив
структуру DBF и обратив особое внимание
на значение по смещению 10-11 байт можно получить и флаг удаленности записи.

Но каким-то образом автор ушел удовлетворённый.
непонятно (с) Не помню кто

Ну 10-11 байт исследовать не так просто.. Все решается стандартными методами, вот автор и ушел удовлетворенный.
...
Рейтинг: 0 / 0
Проблема удаленных(удаления) записей в Transact-SQL
    #36535226
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
афтар использовал одибиси источник,
поэтому и удовлетворился не танцуя с бубном по байтам ,-
иначе он получил бы "неописуемые очучения".
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Проблема удаленных(удаления) записей в Transact-SQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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