Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Ошибка запроса: Violation of PRIMARY KEY constraint  [new]
Alexs-net
Member

Откуда:
Сообщений: 64
При выполнении запроса:

DECLARE @STOP BIT
SET @STOP = 0
WHILE @STOP = 0
BEGIN
BEGIN TRAN

INSERT INTO
DocumentPublishingStatus (Document, [Status], ModifiedAt)
SELECT TOP 100000
dh.DocumentForLast,
dbo.IsDocTypeStateFinal(dt.Code, s.Code),
dh.[Date]
FROM
DocHistory dh
JOIN [DocState] ds ON ds.ObjectID = dh.[State]
JOIN [State] s ON ds.StateName = s.ObjectID
JOIN [Document] d ON dh.DocumentForLast = d.ObjectID
JOIN [DocType] dt ON d.DocType = dt.ObjectID
LEFT JOIN DocumentPublishingStatus dps ON dps.Document = dh.DocumentForLast
WHERE
dps.Document IS NULL

SET @STOP = CASE WHEN @@ROWCOUNT = 0 THEN 1 ELSE 0 END

COMMIT TRAN
END
GO

появляется ошибка:

Violation of PRIMARY KEY constraint 'PK__DocumentPublishi__45FF1E22'. Cannot insert duplicate key in object 'dbo.DocumentPublishingStatus'.
The statement has been terminated.

Не совсем понятно в какую сторону копать, подскажите кто сталкивался или если есть какие мысли.
20 июл 12, 12:44    [12892885]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка запроса: Violation of PRIMARY KEY constraint  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37138
Alexs-net
Violation of PRIMARY KEY constraint 'PK__DocumentPublishi__45FF1E22'. Cannot insert duplicate key in object 'dbo.DocumentPublishingStatus'.
The statement has been terminated.
20 июл 12, 12:51    [12892954]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка запроса: Violation of PRIMARY KEY constraint  [new]
iap
Member

Откуда: Москва
Сообщений: 47045
Alexs-net,

не надо пытаться вставить первичный ключ, который уже вставлен!
И не надо пытаться вставить два одинаковых первичных ключа!

Там же английским языком всё объясняется!
20 июл 12, 12:51    [12892955]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка запроса: Violation of PRIMARY KEY constraint  [new]
denis2710
Member

Откуда: Москва
Сообщений: 3384
Alexs-net,
Ну для начало было бы недурственно узнать по каким полям построен первичный ключ.
20 июл 12, 12:52    [12892961]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка запроса: Violation of PRIMARY KEY constraint  [new]
Alexs-net
Member

Откуда:
Сообщений: 64
iap, а где в этом запросе видно. что я пытаюсь вставить первичный ключ, который уже вставлен или вставляется второй одинаковый?
20 июл 12, 12:59    [12893000]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка запроса: Violation of PRIMARY KEY constraint  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37138
Alexs-net
iap, а где в этом запросе видно. что я пытаюсь вставить первичный ключ, который уже вставлен или вставляется второй одинаковый?
В вашем запросе не видно, что вы его не пытаетесь вставить.
20 июл 12, 13:00    [12893007]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка запроса: Violation of PRIMARY KEY constraint  [new]
Alexs-net
Member

Откуда:
Сообщений: 64
Гавриленко Сергей Алексеевич, но именно на этот запрос выдается такая ошибка, это и не понятно...
20 июл 12, 13:03    [12893022]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка запроса: Violation of PRIMARY KEY constraint  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37138
Alexs-net
Гавриленко Сергей Алексеевич, но именно на этот запрос выдается такая ошибка, это и не понятно...
Ну я и говорю, что ошибка в вашем запросе.
20 июл 12, 13:04    [12893029]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка запроса: Violation of PRIMARY KEY constraint  [new]
Alexs-net
Member

Откуда:
Сообщений: 64
Гавриленко Сергей Алексеевич, если даже и в моем запросе то в каком месте, где он хочет вставить еще раз ключ?
20 июл 12, 13:11    [12893058]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка запроса: Violation of PRIMARY KEY constraint  [new]
daw
Member

Откуда: Муром -> Москва
Сообщений: 7381

а откуда уверенность, что в самом запросе нет дубликатов?
вот в этих 100000 строк.

Posted via ActualForum NNTP Server 1.5

20 июл 12, 13:13    [12893072]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка запроса: Violation of PRIMARY KEY constraint  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37138
Alexs-net
Гавриленко Сергей Алексеевич, если даже и в моем запросе то в каком месте, где он хочет вставить еще раз ключ?
Еще раз - почему он не должен хотеть? Вы написали distinct или группировку, исключающую дубликаты? Вы сделали выборку по схеме, которая исключает дубликаты?
20 июл 12, 13:15    [12893087]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка запроса: Violation of PRIMARY KEY constraint  [new]
Alexs-net
Member

Откуда:
Сообщений: 64
daw,возможно и есть, а каким образом можно либо найти дубликат в этих 100000 либо обойти?
20 июл 12, 13:17    [12893100]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка запроса: Violation of PRIMARY KEY constraint  [new]
Alexs-net
Member

Откуда:
Сообщений: 64
Гавриленко Сергей Алексеевич,подскажите как можно написать эту проверку
20 июл 12, 13:18    [12893106]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка запроса: Violation of PRIMARY KEY constraint  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37138
Alexs-net
Гавриленко Сергей Алексеевич,подскажите как можно написать эту проверку
А писать надо для всех возможных комбинаций полей, из которых может быть сделан ваш PRIMARY KEY constraint?
20 июл 12, 13:21    [12893115]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка запроса: Violation of PRIMARY KEY constraint  [new]
iap
Member

Откуда: Москва
Сообщений: 47045
Alexs-net
iap, а где в этом запросе видно. что я пытаюсь вставить первичный ключ, который уже вставлен или вставляется второй одинаковый?
Например, PK содержит поле, которое у Вас явно не вставляется и системой не генерируется.
Пытается вставиться NULL или значение по-умолчанию несколько раз
20 июл 12, 13:23    [12893128]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка запроса: Violation of PRIMARY KEY constraint  [new]
Alexs-net
Member

Откуда:
Сообщений: 64
Понятно, спасибо, буду искать дубликаты (
20 июл 12, 13:27    [12893152]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить