Вверх ↑
Этот топик читают: Гость
Гость
Ответов: 17029
Рейтинг: 0
#226: 2008-08-21 20:23:38 правка | ЛС | профиль | цитата


Редактировалось 3 раз(а), последний 2022-04-03 00:00:49
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#227: 2008-08-21 20:45:07 ЛС | профиль | цитата
Андрюха писал(а):
DELETE
полную команду давай и базу заархивируй и вышли на мыло (в профиле)
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Гость
Ответов: 17029
Рейтинг: 0
#228: 2008-08-21 20:58:37 правка | ЛС | профиль | цитата


Редактировалось 3 раз(а), последний 2022-04-03 00:00:49
карма: 0

0
Ответов: 211
Рейтинг: 52
#229: 2008-08-21 22:22:11 ЛС | профиль | цитата
INSERT INTO "fio" VALUES('Иванов','Петр','Сидорович') WHERE NOT EXISTS (SELECT * FROM "fio" WHERE f = 'Иванов' AND i = 'Петр' AND o = 'Сидорович');
Запрос добавит в таблицу fio соответствующие значения если строка выбираемая во встроенном запросе SELECT не найдена. Запрос пишется немного иначе, но так понятней механизм.
карма: 1
слтв
0
Ответов: 26
Рейтинг: 1
#230: 2008-08-21 22:49:06 ЛС | профиль | цитата
Minkovsky писал(а):
INSERT INTO "fio" VALUES('Иванов','Петр','Сидорович') WHERE NOT EXISTS (SELECT * FROM "fio" WHERE f = 'Иванов' AND i = 'Петр' AND o = 'Сидорович');

Ошибка near "WHERE": syntax error т.е. после поля VALUES ничего не может идти.
карма: 0

0
Гость
Ответов: 17029
Рейтинг: 0
#231: 2008-08-27 21:29:52 правка | ЛС | профиль | цитата


Редактировалось 3 раз(а), последний 2022-04-03 00:00:49
карма: 0

0
Ответов: 5446
Рейтинг: 323
#232: 2008-08-28 00:12:03 ЛС | профиль | цитата
Силами только SQL - фиг. Скорее всего можно файл самому разобрать и снять признак удаления, или как оно там работает. Вроде описание формата на сайте sqlite есть
карма: 1

0
Гость
Ответов: 17029
Рейтинг: 0
#233: 2008-08-28 01:59:08 правка | ЛС | профиль | цитата


Редактировалось 3 раз(а), последний 2022-04-03 00:00:49
карма: 0

0
Ответов: 211
Рейтинг: 52
#234: 2008-08-29 01:19:56 ЛС | профиль | цитата
Amig0, Возможно уже и не актуально сие решение, но реализовать можно так:
1. создаем временную таблицу temp с тем же набором полей, что и основная
2. делаем запись в нее (можно несколько)
3. сравниваем 2 SELECT'а основной и временной. По факту совпадений выдаем сообщение о дубликатах.
4. выполняем запрос INSERT INTO fio SELECT * FROM temp WHERE NOT EXISTS (SELECT DISTINCT * FROM fio WHERE f='iva' AND i='iva' AND o='iva'); копирующий все записи, за исключением дубликатов (предикат DISTINCT) и уже найденых в рабочей базе
5. таблицу temp удаляем.

зы. предыдущий запрос проверял на Oracle RDB/VMS на работе - прокатило
ззы. сейчас опять теоретически, но вроде все правильно
карма: 1
слтв
0
Гость
Ответов: 17029
Рейтинг: 0
#235: 2008-08-30 22:31:37 правка | ЛС | профиль | цитата


Редактировалось 3 раз(а), последний 2022-04-03 00:00:48
карма: 0

0
Ответов: 5446
Рейтинг: 323
#236: 2008-09-01 21:34:11 ЛС | профиль | цитата
Степан, а какая нафиг разница - признак существования или признак удаления? Главное - есть какой-то бит (байт? ...?), который меняется при удалении, и по которому VACUUM определяет, удалять данные или нет
карма: 1

0
Гость
Ответов: 17029
Рейтинг: 0
#237: 2008-09-01 22:46:21 правка | ЛС | профиль | цитата


Редактировалось 3 раз(а), последний 2022-04-02 23:59:10
карма: 0

0
Разработчик
Ответов: 26113
Рейтинг: 2126
#238: 2008-09-01 23:36:01 ЛС | профиль | цитата
Степан писал(а):
может ты, как спец, чем поможешь

Ну, в базах я сам только учусь у Tad'a и Alexbotch'a, они неплохо в них шарят. Кстати, Alexbotch еще не выступил по этому вопросу.
карма: 22

0
Гость
Ответов: 17029
Рейтинг: 0
#239: 2008-09-02 00:22:17 правка | ЛС | профиль | цитата


Редактировалось 3 раз(а), последний 2022-04-02 23:59:10
карма: 0

0
Разработчик
Ответов: 26113
Рейтинг: 2126
#240: 2008-09-02 00:36:26 ЛС | профиль | цитата
Если дубово подойти, и именно по признаку удаления (?) попытаться пересоздать базу на основании бинарных данных, то можно попробовать. Правда, не знаю, что из этого получится, но, попытка -- не пытка. Вопрос -- ты полностью удалил таблицу, или потер только часть данных, это очень важно
карма: 22

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)