Я пытаюсь создать эту деятельность таблицу:SQL Server Ошибки создания таблицы - может вызвать циклы или несколько путей каскадных
CREATE TABLE activity
(
activity_id int,
description varchar(300),
start_date date,
due_date date,
plannes_price float,
hours_worked int,
billing_rate float,
actual_price float,
status varchar(50),
employee_id int,
date_completed date,
service_id int,
CONSTRAINT pk_activityId PRIMARY KEY (activity_id),
CONSTRAINT fk_act_emp_id FOREIGN KEY (employee_id)
REFERENCES employee(employee_id)
ON UPDATE CASCADE ON DELETE SET NULL,
CONSTRAINT fk_act_ser_id FOREIGN KEY (service_id)
REFERENCES service(service_id)
ON UPDATE CASCADE ON DELETE NO ACTION
)
, но я получаю эту ошибку:
Msg 1785, Level 16, State 0, Line 114
Introducing FOREIGN KEY constraint 'fk_act_ser_id' on table 'activity' may cause cycles or multiple cascade paths. Specify ON DELETE NO ACTION or ON UPDATE NO ACTION, or modify other FOREIGN KEY constraints.Msg 1750, Level 16, State 0, Line 114
Could not create constraint or index. See previous errors.
Если установить fk_act_ser_id
ограничения UPDATE NO ACTION
, тогда код будет работать без ошибок. Но я хочу установить это UPDATE CASCADE.
Кто-нибудь знает, как это исправить?
Нам также нужно будет увидеть DDL таблицы обслуживания. –
* Боковое примечание: * пожалуйста, сделайте ** НЕ ** используйте 'float' (а не' real' или 'double') для информации о цене или скорости - эти типы * заведомо * неточны и склонны стать жертвами ошибок округления. Используйте 'decimal (p, s)' for ** all ** money-related values! –
oh ok .. спасибо :) – imanshu15