Связанная таблица Microsoft Access (ASE) с ошибкой триггера
Я имею в Microsoft Access связанную таблицу к серверу ASE. На стороне сервера таблица не имеет столбцов первичного ключа или идентификатора. И имеет триггер на вставке, который проверяет новые записи, так что, когда запись не проверяется, она удаляет запись из таблицы и записывает в "таблицу"_ERR, чтобы сообщить пользователям, какая ошибка возникла.
При связывании его с Access составной ключ создается с использованием 10 столбцов.
У меня такая же настройка в 10 разных таблицах (все с триггерами все связаны с Access)
В этой конкретной таблице при попытке вставить / добавить записи в таблицу через Access я всегда получаю сообщение об ошибке:
Обновление / удаление в одной строке затронуло более одной строки связанной таблицы. Уникальный индекс содержит повторяющиеся значения.
Эта ошибка возникает, когда таблица и table_ERR пусты, и я только пытаюсь вставить 1 запись.
Если я отключу триггер, у меня не будет проблем с вставкой записей через Access
У меня есть аналогичные триггеры в других таблицах, которые работают правильно. Что может быть причиной этой проблемы и кто-нибудь знает, как решить эту проблему?
Я читал, что MS Access может испортить идентичность @@, несмотря на то, что ни одно из представленных в сети решений не работает.
Заранее спасибо.
РЕДАКТИРОВАТЬ: если я пытаюсь вставить записи непосредственно из программного обеспечения для управления (например, Aqua Data Studio), нет ошибок
1 ответ
Не зная подробностей о ваших данных, трудно сказать, почему это может происходить.
Тем не менее, в данном конкретном случае для этой конкретной связанной таблицы кажется, что ваши 10 столбцов недостаточно уникальны для предотвращения выбора нечетких строк.
Предлагаемые исправления:
- Добавьте первичный ключ. Честно говоря, наверное, лучший и самый простой выбор.
- Если по какой-то причине вы не можете добавить новый столбец (или изменить) свою таблицу; возможно, вы сможете повторно связать свою таблицу и заново выбрать 10 столбцов, чтобы они были более уникальными.
- Кроме того, я думаю, что нам нужно больше информации.
Просто из любопытства, что является причиной отсутствия ключа?