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

Откуда:
Сообщений: 21
The INSERT statement conflicted with the FOREIGN KEY constraint "FK__TR_DT_DGCODE". The conflict occurred in database "veurogroup", table "dbo.tbl_Dogovor", column 'DG_CODE'.

автор
INSERT INTO FIN_TRANSACTIONS
(
TR_KEY, TR_DATE, TR_DATE_PROCESS, TR_DEBT, TR_CREDIT, TR_SUM, TR_RACODE, TR_SUM_BASE, TR_SUM_NATIONAL, TR_DESCRIPTION,
TR_PARENTDOC, TR_TURSUM, TR_TURRATE, TR_USKEY, TR_FRKEY, TR_SUBCONTO4, TR_FAPKEY, TR_DT_DGCODE, TR_DT_DLKEY, TR_DT_PRKEY,
TR_DT_OFKEY, TR_DT_SMKEY, TR_DT_SUBCONTO1, TR_DT_SUBCONTO3, TR_DT_SUBCONTO5, TR_DT_SUBCONTO6, TR_DT_SUBCONTO7, TR_DT_SUBCONTO8, TR_DT_DATE_FIX, TR_DT_SUBCONTO10,
TR_DT_SUBCONTO11, TR_DT_SUBCONTO12, TR_DT_SUBCONTO13, TR_DT_SUBCONTO14, TR_DT_CTKEY, TR_DT_SUBCONTO16, TR_DT_ICKEY, TR_DT_CFKEY, TR_CR_DGCODE, TR_CR_DLKEY,
TR_CR_PRKEY, TR_CR_OFKEY, TR_CR_SMKEY, TR_CR_SUBCONTO1, TR_CR_SUBCONTO3, TR_CR_SUBCONTO5, TR_CR_SUBCONTO6, TR_CR_SUBCONTO7, TR_CR_SUBCONTO8, TR_CR_DATE_FIX,
TR_CR_SUBCONTO10, TR_CR_SUBCONTO11, TR_CR_SUBCONTO12, TR_CR_SUBCONTO13, TR_CR_SUBCONTO14,TR_CR_CTKEY, TR_CR_SUBCONTO16, TR_CR_ICKEY, TR_CR_CFKEY, TR_LEVEL
)
VALUES
(
7,'2012-03-26 00:00:00','2012-03-26 00:00:00',68,87,100,'Kc',4,100,'ПКО: Получено в кассу в оплату тураОплата за тур. путевку K2032801 с 28-03-2012 по 28-03-2012',
370268,4,'E',100118,8913,1,0,'',0,0,
104,0,0,0,91,240,0,0,NULL,0,
0,0,0,0,0,0,0,0,'K2032801 ',0,
1300,0,0,0,0,0,0,0,0,NULL,
0,0,0,0,0,0,0,0,0,0
)


FK__TR_DT_DGCODE связывает tbl_Dogovor.DG_CODE и FIN_TRANSACTIONS.TR_DT_DGCODE

В tbl_Dogovor запись с DG_CODE = 'K2032801 ' есть.
Автоинкрементных ключей в таблице нет.

Не пойму в чём проблема.
Возможно это связано с тем, что обе таблицы полностью чистились путём DELETE FROM table
Подскажите как решить
26 мар 12, 18:23    [12316518]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка FOREIGN KEY  [new]
flexgen
Member

Откуда: Город на песке
Сообщений: 852
mmrdd,

Какая из таблиц parent а какая child? Скрипт создания таблиц опубликовать можно?
26 мар 12, 18:31    [12316549]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка FOREIGN KEY  [new]
mmrdd
Member

Откуда:
Сообщений: 21
Скрипт не могу показать. Софтина закрытая, а поддержка уже закончилась. Запрос выдрал через sql profiler


Foreign Key Base Table - FIN_TRANSACTIONS
Foreign Key Columns - TR_DT_DGCODE
Primary/Unique Key Base - tbl_Dogovor
Primary/Unique Key Column - DG_CODE
26 мар 12, 18:42    [12316605]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка FOREIGN KEY  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31983
mmrdd
Скрипт не могу показать. Софтина закрытая, а поддержка уже закончилась.
В смысле?

В SSMS правой кнопкой на таблицу, сгенерить скрипт.
mmrdd
В tbl_Dogovor запись с DG_CODE = 'K2032801 ' есть.
Именно с двумя пробелами в конце? Или с одним, или без пробелов?

Лучьше скопировать значения поля, и сравнить в окошке SSMS, можно скриптом.
26 мар 12, 20:14    [12317074]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка FOREIGN KEY  [new]
invm
Member

Откуда: Москва
Сообщений: 9836
Что вернет
select
 object_name(object_id), name, is_ansi_padded
from
 sys.columns
where
 object_id in (object_id('FIN_TRANSACTIONS', 'U'), object_id('tbl_Dogovor', 'U')) and
 name in ('TR_DT_DGCODE', 'DG_CODE');
26 мар 12, 20:47    [12317276]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка FOREIGN KEY  [new]
mmrdd
Member

Откуда:
Сообщений: 21
invm
Что вернет
select
 object_name(object_id), name, is_ansi_padded
from
 sys.columns
where
 object_id in (object_id('FIN_TRANSACTIONS', 'U'), object_id('tbl_Dogovor', 'U')) and
 name in ('TR_DT_DGCODE', 'DG_CODE');


Вернуло:
tbl_Dogovor DG_CODE 1
FIN_TRANSACTIONS TR_DT_DGCODE 1



Скрипты таблиц: FIN_TRANSACTIONS tbl_Dogovor
26 мар 12, 22:44    [12317657]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка FOREIGN KEY  [new]
invm
Member

Откуда: Москва
Сообщений: 9836
Если смотреть ваш запрос
INSERT INTO FIN_TRANSACTIONS
(
TR_KEY, TR_DATE, TR_DATE_PROCESS, TR_DEBT, TR_CREDIT, TR_SUM, TR_RACODE, TR_SUM_BASE, TR_SUM_NATIONAL, TR_DESCRIPTION,
TR_PARENTDOC, TR_TURSUM, TR_TURRATE, TR_USKEY, TR_FRKEY, TR_SUBCONTO4, TR_FAPKEY, TR_DT_DGCODE, TR_DT_DLKEY, TR_DT_PRKEY,
TR_DT_OFKEY, TR_DT_SMKEY, TR_DT_SUBCONTO1, TR_DT_SUBCONTO3, TR_DT_SUBCONTO5, TR_DT_SUBCONTO6, TR_DT_SUBCONTO7, TR_DT_SUBCONTO8, TR_DT_DATE_FIX, TR_DT_SUBCONTO10,
TR_DT_SUBCONTO11, TR_DT_SUBCONTO12, TR_DT_SUBCONTO13, TR_DT_SUBCONTO14, TR_DT_CTKEY, TR_DT_SUBCONTO16, TR_DT_ICKEY, TR_DT_CFKEY, TR_CR_DGCODE, TR_CR_DLKEY,
TR_CR_PRKEY, TR_CR_OFKEY, TR_CR_SMKEY, TR_CR_SUBCONTO1, TR_CR_SUBCONTO3, TR_CR_SUBCONTO5, TR_CR_SUBCONTO6, TR_CR_SUBCONTO7, TR_CR_SUBCONTO8, TR_CR_DATE_FIX,
TR_CR_SUBCONTO10, TR_CR_SUBCONTO11, TR_CR_SUBCONTO12, TR_CR_SUBCONTO13, TR_CR_SUBCONTO14,TR_CR_CTKEY, TR_CR_SUBCONTO16, TR_CR_ICKEY, TR_CR_CFKEY, TR_LEVEL
)
VALUES
(
7,'2012-03-26 00:00:00','2012-03-26 00:00:00',68,87,100,'Kc',4,100,'ПКО: Получено в кассу в оплату тураОплата за тур. путевку K2032801 с 28-03-2012 по 28-03-2012',
370268,4,'E',100118,8913,1,0,'',0,0,
104,0,0,0,91,240,0,0,NULL,0,
0,0,0,0,0,0,0,0,'K2032801 ',0,
1300,0,0,0,0,0,0,0,0,NULL,
0,0,0,0,0,0,0,0,0,0
)
то TR_DT_DGCODE соответствует значение '', но никак не 'K2032801 '
26 мар 12, 23:27    [12317742]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить