Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Primary Key / 9 сообщений из 9, страница 1 из 1
20.03.2003, 11:09
    #32123508
NightSpider
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Primary Key
Пытаюсь в таблицу Access пихать строки и втречаются одинаковые значения в Primary Key. Ясное дело, что Access сильно ругается. Как сделать так, что при добавлении новой сроки он удалял строку с повторившемся значением самостоятельно и не ругался.
Insert into aaa (select * from bbb) втавляю склевой выборкой.
...
Рейтинг: 0 / 0
20.03.2003, 11:09
    #32123509
NightSpider
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Primary Key
Пытаюсь в таблицу Access пихать строки и втречаются одинаковые значения в Primary Key. Ясное дело, что Access сильно ругается. Как сделать так, что при добавлении новой сроки он удалял строку с повторившемся значением самостоятельно и не ругался.
Insert into aaa (select * from bbb) втавляю склевой выборкой.
...
Рейтинг: 0 / 0
20.03.2003, 11:18
    #32123522
Suslik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Primary Key
Если это разовая процедура, то добавь, скажем, вот такое условие:

Код: plaintext
1.
...
WHERE bbb.PrimaryKeyField Not In (SELECT PrimaryKeyField FROM aaa)


А иначе это ошибка проектировки базы, и надо приводить её в божеский вид.
...
Рейтинг: 0 / 0
20.03.2003, 11:40
    #32123554
NightSpider
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Primary Key
Там база метров на 200 и повторяющихся значений 30%, я таким образом и хочу сократить время на обработку. Если он на каждую строку будет формировать по
Код: plaintext
In (SELECT PrimaryKeyField FROM aaa)


то это времени займет уйму. Я думаю, что надо повесит что-то на обработчик ошибки
Вроде появилась ошибка, огда делаем aaa.delete текущую строку, которая и не удовлетворяте условию или где-то вообще поставить опцию - не орать на ошибки, а разбираться со всем самому, килять или сохранять в отдельную таблицу стороки, которые не прошли. А т.к. ни VB, ни Access особо не знаю, а работаю со всем из Delphi, то решил написать сюда. :-)
...
Рейтинг: 0 / 0
20.03.2003, 13:32
    #32123712
NightSpider
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Primary Key
В справочнике нашел вот это, но что оно значит не пойму. Помогите разобраться.

Код: plaintext
1.
2.
3.
4.
5.
6.
Конфликты уникальности ключа
Конфликты уникальности ключа могут происходить в следующих случаях. 

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


Основная реплика создает уникальный индекс, а другая реплика в то же время добавляет две или более записи с одинаковым значением ключа. Когда изменения в структуре базы данных достигают реплики, имеющей несколько записей с одинаковым значением ключа, то в основную таблицу переносится только первая из них. Остальные записи помечаются для удаления и записываются в таблицу конфликтов. 
...
Рейтинг: 0 / 0
20.03.2003, 14:21
    #32123789
AlexJuice
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Primary Key
А репликация-то тут при чем?

Что касается задачи - а почему бы предварительно просто не удалить доп.запросом ненужные строки? Гораздо легче будет.
...
Рейтинг: 0 / 0
20.03.2003, 14:31
    #32123801
NightSpider
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Primary Key
Мне нужно в одну таблицу скинуть данные из многих, в которых нет даже Primary key.
В разных таблицах могут находиться строки с одинаковыми значениями.
Неужели Access не может сам устранить проблему?
...
Рейтинг: 0 / 0
20.03.2003, 14:55
    #32123839
Suslik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Primary Key
Такие проблемы сами собой не устраняются. Придётся всё-таки либо предварительно удалять лишние строки, либо использовать Not In.
...
Рейтинг: 0 / 0
20.03.2003, 16:12
    #32123964
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Primary Key
как вариант
можно предварительно удалить все значения примари кей которые будут добавлены
delete aaa where id in (select id from bbb)
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Primary Key / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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