Как построить запрос вставки, учитывающий регистр символов?
У меня есть база данных SQL Server, где я регулярно удаляю и заменяю записи на основе определенного ключевого поля. Каждая запись в каждой таблице имеет это ключевое поле. Ключевое поле чувствительно к регистру (Collation = Latin1_General_CS_AS).
Пример: у меня есть записи в базе данных со значением ключевого поля AAA. В зависимости от таблицы может быть одна или несколько таких записей.
Я хочу загрузить новые записи со значением ключевого поля aaa.
Шаг 1-это всегда удаление всех существующих записей aaa. Это происходит потому, что количество загружаемых записей может быть больше, меньше или таким же, как и раньше. Это удаление работает в том смысле, что учитывается чувствительность к регистру и записи со значением ключевого поля AAA не удаляются.
Шаг 2 - вставить записи aaa в базу данных. Однако это не удается с сообщением о том, что поле принужден быть уникальным. Значение aaa уже присутствует Проверка базы данных показывает, что это неверно. Чувствительность к регистру не применялась.
Запрос insert строится с использованием объекта command builder.
Что я уже пробовал:
Я попытался добавить к команде insert query текст "COLLATION Latin1_General_CS_AS", но это не помогло.
Как я могу построить запрос вставки так, чтобы учитывалась чувствительность к регистру?
Спасибо за любую помощь.
Джерри
Jon McKee
Запрос и то, что это за БД, могли бы помочь. Может дать COLLATE Latin1_General_BIN
а пока попробуем. Ваша проблема, вероятно, заключается в спецификаторе диапазона символов, таком как c-e, который в соответствии с правилами Latin1_General_CS_AS включает верхний регистр C и D (сортированные по алфавиту).