powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Помеченные записи на удаление
13 сообщений из 13, страница 1 из 1
Помеченные записи на удаление
    #33634715
tem@
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как узнать что в таблице есть помеченные записи на удаление???
...
Рейтинг: 0 / 0
Помеченные записи на удаление
    #33634749
Станислав C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tem@Как узнать что в таблице есть помеченные записи на удаление???
Варианты:
1. locate for deleted()
2. select count(*) as cnt from <> where deleted()
3. count for deleted() to aaa
...
Рейтинг: 0 / 0
Помеченные записи на удаление
    #33635129
Фотография Vladimir M Sklyar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А главное перед этим не забыть поставить:
SET DELETE OFF
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Помеченные записи на удаление
    #33635189
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
создается табличка
в ней два индекса

первый for !dele()
второй for dele()

табличка открывается
use табличка order первый
use табличка order второй again alia 'удаленные'


чтобы посмотреть есть ли удаленные достаточно
if recn('удаленные')>0
messagebox('Есть')
endif
...
Рейтинг: 0 / 0
Помеченные записи на удаление
    #33635193
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
или

if !bof('удаленные') and !eof('удаленные')
messagebox('Есть')
endif
...
Рейтинг: 0 / 0
Помеченные записи на удаление
    #33639867
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi alex11100!

> создается табличка
> в ней два индекса
> первый for !dele()
> второй for dele()

Это надеюсь было сказано в порядке бреда?

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Помеченные записи на удаление
    #33640462
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ага, бредил 12 лет так
...
Рейтинг: 0 / 0
Помеченные записи на удаление
    #33640472
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а дергать set dele не бред?
...
Рейтинг: 0 / 0
Помеченные записи на удаление
    #33640778
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
CREATE CURSOR test (nn n( 1 ))
INSERT INTO test (nn) VALUES ( 1 )
INSERT INTO test (nn) VALUES ( 2 )
INSERT INTO test (nn) VALUES ( 3 )
INSERT INTO test (nn) VALUES ( 4 )
SELECT test
GO TOP
DELETE
SET DELETED ON
a=RECCOUNT()
COUNT TO b
?a-b  &&returns  1 
...
Рейтинг: 0 / 0
Помеченные записи на удаление
    #33642344
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi alex11100!

1) Куда попадёт указатель записи в "удаленные", если удалённых записей нет?
Так что вариант с recn('удаленные')>0 идёт в сад
2) Куда попадёт указатель записи в "удаленные", если удалённые записи есть,
но действует установка SET DELETED ON?
Вариант с !bof('удаленные') and !eof('удаленные') отправляется вслед за
первым.
3) Что произойдёт, если мы после указанного открытия 2-х курсоров (в таблице
изначально не було удалённых записей) удалим запись в первом из них? Когда,
при каких обстоятельствах мы увидим хоть какие-то изменения в курсоре
"удаленные"? Или может быть нам строит при КАЖДОМ обращении к этому курсору
его закрывать и снова открывать?
4) Можно ли нормально работать в фоксе, если в таблицах есть удалённые
записи, при этом эти записи НЕОБХОДИМО игнорировать, НО в программе
установлено SET DELETED OFF.
И ещё один риторический вопрос - что является большим извращением -
переключится временно на SET DELETED OFF, когда нужно найти удалённые
записи, или ПОСТОЯННО работать с установкой SET DELETED OFF. Учитывая
конечно тот простой факт, что в большинстве SQL запросов (кроме
примитивнейших однотабличных) ТОЛЬКО установка SET DELETED ON позволяет
получать предсказуемые и корректные результаты.
5) Будет ли фокс использовать индекс с FOR для оптимизации?

Думаю теперь моя позиция будет совершенно понятна, а твоя существенным
образом изменится :)

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Помеченные записи на удаление
    #33644169
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно ли нормально работать в фоксе, если в таблицах есть удалённые
записи, при этом эти записи НЕОБХОДИМО игнорировать, НО в программе
установлено SET DELETED OFF

работал и успешно
и еще как работал
и до сего дня работает без меня - сам удивляюсь
...
Рейтинг: 0 / 0
Помеченные записи на удаление
    #33644174
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
давайте останемся при своих мнениях
уже пальцы болят пример писать

когда-то уже спорили
...
Рейтинг: 0 / 0
Помеченные записи на удаление
    #33644942
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi alex11100!

>> Можно ли нормально работать в фоксе, если в таблицах есть удалённые
>> записи, при этом эти записи НЕОБХОДИМО игнорировать, НО в программе
>> установлено SET DELETED OFF

> работал и успешно

CREATE TABLE t1 (ID1 I, Name C(40))
CREATE TABLE t2 (ID2 I, Name2 C(40))
FOR ln1 = 1 TO 10
INSERT INTO t1 (ID1, Name) VALUES (m.ln1, "Это запись таблицы 1 с ID1 =
" + TRANSFORM(m.ln1))
INSERT INTO t2 (ID2, Name2) VALUES (m.ln1, "Это запись таблицы 2 с ID2 =
" + TRANSFORM(m.ln1))
ENDFOR
* Из первой удалим указанные записи
DELETE FROM t1 WHERE ID1 IN (1,3,5)
* Из второй удалим указанные записи
DELETE FROM t2 WHERE ID2 IN (1,4,7)

SET DELETED ON
SELECT * ;
FROM t1 ;
INNER JOIN t2 ;
ON t1.ID1 = t2.ID2
* Имеем 5 записей - с кодами 2, 6, 8, 9, 10
* во всех записях оба поля NAME1 и NAME2 заполнены

SELECT * ;
FROM t1 ;
LEFT JOIN t2 ;
ON t1.ID1 = t2.ID2
* Имеем 7 записей - с кодами 2, 4, 6, 7, 8, 9, 10
* поле NAME1 заполнено везде, а NAME2 не заполнено в 4 и 7.

SET DELETED OFF
* Ну а теперь пиши свой код, выполняющий то-же самое, с таким-же
результатом - т.е.
* "игнорирующий" удалённые записи - конечно работающий при установке SET
DELETED OFF

Если не получится, то видимо следует признать, что ты был не прав. Как я
понимаю по всем остальным пунктам ты уже молча признал свою неправоту - так
что дело осталось за малым :)

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Помеченные записи на удаление
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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