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

Откуда:
Сообщений: 83
привет всем

делаю так

begin tran
update CRM.dbo.CRM_TASK
set participant_crm_employee = sales_person
where author = 'DEPO\Nazarov.Aleksandr' and
occur > '20110728' and changer = 'DEPO\Nazarov.Aleksandr'

выдает ошибку
The UPDATE statement conflicted with the FOREIGN KEY constraint "FK__CRM_TASK__partic__373B3228". The conflict occurred in database "CRM", table "dbo.CRM_EMPLOYEE", column 'crm_employee'.

как сказал переводчик конфликт с внешним ключом таблицы CRM_EMPLOYEE.
как решить эту проблему и вставить нужные мне значения. Причем я уверен в том, что такие значения есть в таблице CRM_EMPLOYEE
28 июл 11, 16:19    [11040493]     Ответить | Цитировать Сообщить модератору
 Re: Проблема при update  [new]
Glory
Member

Откуда:
Сообщений: 104751
San4ooo
Причем я уверен в том, что такие значения есть в таблице CRM_EMPLOYEE

Каким запросом подтверждена ваша уверенность ?
28 июл 11, 16:21    [11040501]     Ответить | Цитировать Сообщить модератору
 Re: Проблема при update  [new]
Raoul
Member

Откуда:
Сообщений: 177
Можешь кинуть сюда скрипт CREATE TABLE для обеих таблиц?
28 июл 11, 16:24    [11040522]     Ответить | Цитировать Сообщить модератору
 Re: Проблема при update  [new]
San4ooo
Member

Откуда:
Сообщений: 83
Хотя не уверен.
Некоторых вставляемых значений (sales_person) нет в таблице CRM_EMPLOYEE.

Это касается таблицы в которую я вставляю(CRM_TASK)
CREATE TABLE [dbo].[CRM_TASK](
	[crm_task] [int] NOT NULL,
	[occur] [datetime] NULL,
	[changer] [sysname] NULL,
	[crm_task_meeting_place] [int] NULL,
	[crm_company] [int] NOT NULL,
	[sales_person] [int] NULL,
	[crm_task_type] [int] NOT NULL,
	[crm_task_contact_type] [int] NULL,
	[participant_crm_employee] [int] NULL,
	[crm_task_conversation_theme] [int] NULL,
	[next_action_crm_task_type] [int] NULL,
	[participant_sales_person] [int] NULL,
	[crm_task_result] [int] NULL,
	[crm_task_current_action] [int] NULL,
	[creation_date] [datetime] NULL,
	[comment] [varchar](255) NULL,
	[conversation_description] [varchar](2048) NULL,
	[next_action_date] [datetime] NULL,
	[is_checked] [bit] NULL,
	[result_comment] [varchar](1024) NULL,
	[crm_task_status] [tinyint] NULL,
	[task_date] [datetime] NULL,
	[complete_date] [datetime] NULL,
	[delay_count] [tinyint] NULL,
	[author] [varchar](128) NULL,
 CONSTRAINT [PK_CRM_TASK] PRIMARY KEY CLUSTERED 
(
	[crm_task] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON, FILLFACTOR = 80) ON [PRIMARY]
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO

ALTER TABLE [dbo].[CRM_TASK]  WITH NOCHECK ADD  CONSTRAINT [FK__CRM_TASK__crm_co__345EC57D] FOREIGN KEY([crm_company])
REFERENCES [dbo].[CRM_COMPANY] ([crm_company])
GO

ALTER TABLE [dbo].[CRM_TASK] CHECK CONSTRAINT [FK__CRM_TASK__crm_co__345EC57D]
GO

ALTER TABLE [dbo].[CRM_TASK]  WITH NOCHECK ADD  CONSTRAINT [FK__CRM_TASK__crm_ta__3552E9B6] FOREIGN KEY([crm_task_type])
REFERENCES [dbo].[CRM_TASK_TYPE] ([crm_task_type])
GO

ALTER TABLE [dbo].[CRM_TASK] CHECK CONSTRAINT [FK__CRM_TASK__crm_ta__3552E9B6]
GO

ALTER TABLE [dbo].[CRM_TASK]  WITH NOCHECK ADD  CONSTRAINT [FK__CRM_TASK__crm_ta__36470DEF] FOREIGN KEY([crm_task_contact_type])
REFERENCES [dbo].[CRM_TASK_CONTACT_TYPE] ([crm_task_contact_type])
GO

ALTER TABLE [dbo].[CRM_TASK] CHECK CONSTRAINT [FK__CRM_TASK__crm_ta__36470DEF]
GO

ALTER TABLE [dbo].[CRM_TASK]  WITH NOCHECK ADD  CONSTRAINT [FK__CRM_TASK__crm_ta__382F5661] FOREIGN KEY([crm_task_conversation_theme])
REFERENCES [dbo].[CRM_TASK_CONVERSATION_THEME] ([crm_task_conversation_theme])
GO

ALTER TABLE [dbo].[CRM_TASK] CHECK CONSTRAINT [FK__CRM_TASK__crm_ta__382F5661]
GO

ALTER TABLE [dbo].[CRM_TASK]  WITH NOCHECK ADD  CONSTRAINT [FK__CRM_TASK__crm_ta__3A179ED3] FOREIGN KEY([crm_task_result])
REFERENCES [dbo].[CRM_TASK_RESULT] ([crm_task_result])
GO

ALTER TABLE [dbo].[CRM_TASK] CHECK CONSTRAINT [FK__CRM_TASK__crm_ta__3A179ED3]
GO

ALTER TABLE [dbo].[CRM_TASK]  WITH NOCHECK ADD  CONSTRAINT [FK__CRM_TASK__crm_ta__3B0BC30C] FOREIGN KEY([crm_task_current_action])
REFERENCES [dbo].[CRM_TASK_CURRENT_ACTION] ([crm_task_current_action])
GO

ALTER TABLE [dbo].[CRM_TASK] CHECK CONSTRAINT [FK__CRM_TASK__crm_ta__3B0BC30C]
GO

ALTER TABLE [dbo].[CRM_TASK]  WITH NOCHECK ADD  CONSTRAINT [FK__CRM_TASK__next_a__39237A9A] FOREIGN KEY([next_action_crm_task_type])
REFERENCES [dbo].[CRM_TASK_TYPE] ([crm_task_type])
GO

ALTER TABLE [dbo].[CRM_TASK] CHECK CONSTRAINT [FK__CRM_TASK__next_a__39237A9A]
GO

ALTER TABLE [dbo].[CRM_TASK]  WITH NOCHECK ADD  CONSTRAINT [FK__CRM_TASK__partic__373B3228] FOREIGN KEY([participant_crm_employee])
REFERENCES [dbo].[CRM_EMPLOYEE] ([crm_employee])
GO

ALTER TABLE [dbo].[CRM_TASK] CHECK CONSTRAINT [FK__CRM_TASK__partic__373B3228]
GO

ALTER TABLE [dbo].[CRM_TASK] ADD  CONSTRAINT [DF__CRM_TASK__occur__318258D2]  DEFAULT (getdate()) FOR [occur]
GO

ALTER TABLE [dbo].[CRM_TASK] ADD  CONSTRAINT [DF__CRM_TASK__change__32767D0B]  DEFAULT (suser_sname()) FOR [changer]
GO

ALTER TABLE [dbo].[CRM_TASK] ADD  CONSTRAINT [DF__CRM_TASK__creati__336AA144]  DEFAULT (getdate()) FOR [creation_date]
GO

А это та таблица с которой конфликт
CREATE TABLE [dbo].[CRM_EMPLOYEE](
	[crm_employee] [int] NOT NULL,
	[occur] [datetime] NULL,
	[changer] [sysname] NULL,
	[crm_person_priority] [int] NULL,
	[crm_company] [int] NOT NULL,
	[last_name] [varchar](30) NULL,
	[first_name] [varchar](30) NULL,
	[parent_name] [varchar](30) NULL,
	[position] [varchar](100) NULL,
	[birthday] [smalldatetime] NULL,
	[recoil] [bit] NULL,
	[comment] [varchar](255) NULL,
	[distrib_refuse] [bit] NULL,
	[department] [varchar](90) NULL,
	[person] [int] NULL,
	[active] [bit] NULL,
	[creation_date] [datetime] NULL,
 CONSTRAINT [PK__CRM_EMPLOYEE__2334397B] PRIMARY KEY CLUSTERED 
(
	[crm_employee] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON, FILLFACTOR = 70) ON [PRIMARY]
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO

ALTER TABLE [dbo].[CRM_EMPLOYEE]  WITH NOCHECK ADD  CONSTRAINT [FK__CRM_EMPLO__crm_c__27F8EE98] FOREIGN KEY([crm_company])
REFERENCES [dbo].[CRM_COMPANY] ([crm_company])
GO

ALTER TABLE [dbo].[CRM_EMPLOYEE] CHECK CONSTRAINT [FK__CRM_EMPLO__crm_c__27F8EE98]
GO

ALTER TABLE [dbo].[CRM_EMPLOYEE] ADD  CONSTRAINT [DF__CRM_EMPLO__occur__24285DB4]  DEFAULT (getdate()) FOR [occur]
GO

ALTER TABLE [dbo].[CRM_EMPLOYEE] ADD  CONSTRAINT [DF__CRM_EMPLO__chang__251C81ED]  DEFAULT (suser_sname()) FOR [changer]
GO

ALTER TABLE [dbo].[CRM_EMPLOYEE] ADD  CONSTRAINT [DF_CRM_EMPLOYEE_crm_person_priority]  DEFAULT (1) FOR [crm_person_priority]
GO

ALTER TABLE [dbo].[CRM_EMPLOYEE] ADD  CONSTRAINT [DF__CRM_EMPLO__recoi__2610A626]  DEFAULT (0) FOR [recoil]
GO

ALTER TABLE [dbo].[CRM_EMPLOYEE] ADD  CONSTRAINT [DF__CRM_EMPLO__distr__2704CA5F]  DEFAULT (0) FOR [distrib_refuse]
GO

ALTER TABLE [dbo].[CRM_EMPLOYEE] ADD  DEFAULT (1) FOR [active]
GO
28 июл 11, 16:43    [11040665]     Ответить | Цитировать Сообщить модератору
 Re: Проблема при update  [new]
Glory
Member

Откуда:
Сообщений: 104751
San4ooo
Хотя не уверен.
Некоторых вставляемых значений (sales_person) нет в таблице CRM_EMPLOYEE.

И сервер с вами тоже согласен. О чем и сообщил
28 июл 11, 16:48    [11040698]     Ответить | Цитировать Сообщить модератору
 Re: Проблема при update  [new]
San4ooo
Member

Откуда:
Сообщений: 83
Так как быть?
Значения надо вставить именно такие.
28 июл 11, 16:53    [11040721]     Ответить | Цитировать Сообщить модератору
 Re: Проблема при update  [new]
San4ooo
Member

Откуда:
Сообщений: 83
Скажите возможно Как можно присвоить такому полю свое значение?
28 июл 11, 17:03    [11040783]     Ответить | Цитировать Сообщить модератору
 Re: Проблема при update  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
San4ooo
Скажите возможно Как можно присвоить такому полю свое значение?
Сначала вставить их в CRM_EMPLOYEE
28 июл 11, 17:12    [11040831]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить