У нас есть уникальный ключ в таблице загрузки изображения документа. Пока обновляется путь к изображению Do c, оно нарушает Unique. Но оператор select
возвращает ноль для тех же значений.
Запросы:
select * from uploadeddocmaster
where EmployeeCode='VSSPL-0402' and VendorCode='VEND-0001' -- 3 rows
select * from uploadeddocmaster
where EmployeeCode='VSSPL-0402' and VendorCode='VEND-0001' and Documentname='blurred-bg-f4mmedia-2.jpg' -- 0 row
Update uploadeddocmaster set Documentname='blurred-bg-f4mmedia-2.jpg',
ImagePath='http://ip addrs/testingimages/VSSPL-04034049489910055332026.jpg',
ModifiedBy='TNPL-0003',ActiveYn='Yes',DeleteYn='No'
where EmployeeCode='VSSPL-0402' and VendorCode='VEND-0001' -- constraint vialotion
Результирующий набор значений:
Окно OP вышеупомянутых запросов и изображения из :
(затронуто 3 строк)
(затронуто 0 строк)
Msg 2627 , Уровень 14, Состояние 1, Строка 26 Нарушение ограничения UNIQUE KEY 'UK_UploadedDocMaster_Code_Name_Side_Vendor'. Невозможно вставить дубликат ключа в объект 'dbo.UploadedDocMaster'. Значение дублированного ключа (VSSPL-0402, blurred-bg-f4mmedia-2.jpg, VEND-0001). Оператор был прерван.
Вопрос в том, что не найдено записей для условия обновления where. Тогда почему уникальное ограничение нарушается. Здесь моя структура таблицы.
Alt + F1
таблицы и таблицы столбцов:
Column_name Type Computed Length Prec Scale Nullable TrimTrailingBlanks FixedLenNullInSource Collation
SearialNo int no 4 10 0 no (n/a) (n/a) NULL
EmployeeCode varchar no 15 no no no SQL_Latin1_General_CP1_CI_AS
DocumentName varchar no 100 no no no SQL_Latin1_General_CP1_CI_AS
Side varchar no 10 yes no yes SQL_Latin1_General_CP1_CI_AS
ImagePath varchar no -1 no no no SQL_Latin1_General_CP1_CI_AS
VendorCode varchar no 15 no no no SQL_Latin1_General_CP1_CI_AS
ActiveYn varchar no 3 yes no yes SQL_Latin1_General_CP1_CI_AS
DeleteYn varchar no 3 yes no yes SQL_Latin1_General_CP1_CI_AS
CreatedDate datetime no 8 yes (n/a) (n/a) NULL
CreatedBy varchar no 15 no no no SQL_Latin1_General_CP1_CI_AS
ModifiedDate datetime no 8 yes (n/a) (n/a) NULL
ModifiedBy varchar no 15 no no no SQL_Latin1_General_CP1_CI_AS
Alt + F1
таблицы и таблицы индексов:
index_name index_description index_keys
UK_UploadedDocMaster_Code_Name_Side_Vendor nonclustered, unique, unique key located on PRIMARY EmployeeCode, DocumentName, Side, VendorCode
Alt + F1
таблицы и таблицы ограничений :
constraint_type constraint_name delete_action update_action status_enabled status_for_replication constraint_keys
UNIQUE (non-clustered) UK_UploadedDocMaster_Code_Name_Side_Vendor (n/a) (n/a) (n/a) (n/a) EmployeeCode, DocumentName, Side, VendorCode
Спасибо,
Пугал.