SQL Server创建表错误-可能导致循环或多个级联路径
我正在尝试创建此活动表:SQL Server创建表错误-可能导致循环或多个级联路径,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我正在尝试创建此活动表: 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),
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
)
但我得到了这个错误:
味精1785,第16级,状态0,第114行在表“活动”上引入外键约束“fk_act_ser_id”可能会导致循环或多个级联路径。指定“在删除时不执行操作”或“在更新时不执行操作”,或修改其他外键约束 Msg 1750,第16级,状态0,第114行
无法创建约束或索引。请参阅前面的错误 如果我设置了
fk\u act\u ser\u id
constraintUPDATE NO ACTION
,则代码将无错误运行。但我想把它设置为更新级联
有人知道如何解决这个问题吗?这里没有显示的都是表。有多种方法可以删除
活动
——其中一种方法有两条路径指向活动
。例如,如果服务
可以导致删除员工
(或者员工
删除可以删除服务
)……或者其他一些删除路径。从给定的起始表到任何表,您只能有一个删除/更新路径。我们还必须查看服务表的DDL。旁注:请不要使用float
(也不要使用real
或double
)对于价格或费率信息,这些类型是出了名的不准确,往往成为舍入错误的受害者。对所有与货币相关的值使用decimal(p,s)
!哦,好的。。谢谢:)