SQL表数据结构,这是错误的吗?使用级联删除
以下是我遇到问题的3个表格:SQL表数据结构,这是错误的吗?使用级联删除,sql,sql-delete,cascading-deletes,Sql,Sql Delete,Cascading Deletes,以下是我遇到问题的3个表格: 表:opportunity-包含各种opportunity(职务)描述 表:Opportunities_申请人-容纳各种申请机会的申请人。一个申请人只能申请一个机会,但是一个机会可以有多个申请人 表:Opportunities\u Category-保存类别名称和类型。1类可能与许多机会相关 我正在尝试执行级联删除当删除一个Opportunity类别时,它将删除相应的Opportunity和这些Opportunity的申请者 这种结构合适吗?还是应该以不同的方式
- 表:opportunity-包含各种opportunity(职务)描述
- 表:Opportunities_申请人-容纳各种申请机会的申请人。一个申请人只能申请一个机会,但是一个机会可以有多个申请人
- 表:Opportunities\u Category-保存类别名称和类型。1类可能与许多机会相关
create table Opportunities_Category
(
CategoryID int identity(1,1) not null
constraint PK_CategoryID primary key clustered,
[Name] varchar(150) not null,
[Type] varchar(100) not null --Pay, Volunteer, Volunteer Yearly
)
create table Opportunities
(
OpportunityID int identity(1,1) not null
constraint PK_OpportunityID primary key clustered,
CategoryID int not null
constraint FK_CategoryID foreign key references Opportunities_Category(CategoryID) ON DELETE CASCADE,
Title varchar(300) not null,
PostingDate datetime not null,
ClosingDate datetime not null,
Duration varchar(150) not null, --Part Time, Full Time, Seasonal, Contract
Compensation varchar(150) not null, --Hourly, Volunteer, Salary
[Description] varchar(5000) not null,
Qualifications varchar(5000) not null,
Show int not null
)
create table Opportunities_Applicant
(
ApplicantID int identity(1,1) not null
constraint PK_ApplicantID primary key clustered,
OpportunityID int not null
constraint FK_OpportunityID foreign key references Opportunities(OpportunityID) ON DELETE CASCADE,
[First] varchar(150) not null,
[Last] varchar(150) not null,
Phone varchar(20) not null,
Cell varchar(20) not null,
EMail varchar(200) not null,
CoverLetterResume varchar(300) null,
[Timestamp] datetime not null
)
使用检查添加约束[FK_Opportunities Category_Opportunities]外键([CategoryID])更改表[dbo].[Opportunities] 参考文献[dbo].[Opportunities\u Category]([CategoryID]) 关于删除级联 去
祝你好运 使用检查添加约束[FK_Opportunities Category_Opportunities]外键([CategoryID])更改表[dbo].[Opportunities] 参考文献[dbo].[Opportunities\u Category]([CategoryID]) 关于删除级联 去
祝你好运 我的表格设置正确: 昨天,我一直在尝试:从CategoryID=@CategoryID的Opportunities中删除。这只是从Opportunity和Opportunity申请人中删除记录
今天,我改为:从Opportunities_Categoies中删除,其中CategoryID=@CategoryID,并且所有3个表都在删除它们相应的记录 我的表格设置正确: 昨天,我一直在尝试:从CategoryID=@CategoryID的Opportunities中删除。这只是从Opportunity和Opportunity申请人中删除记录
今天,我改为:从Opportunities_Categoies中删除,其中CategoryID=@CategoryID,并且所有3个表都在删除它们相应的记录 这不是我正在做的同一件事吗。。。“constraint FK_CategoryID外键引用Opportunities_CategoryID(CategoryID)ON DELETE CASCADE”在Opportunities表中,相同的事情,抱歉,没有向右滚动以查看DELETE CASCADE…这不是我正在做的相同事情吗。。。在Opportunities表中的“constraint FK_CategoryID外键引用删除级联上的Opportunities_Category(CategoryID)”,与此相同,抱歉,没有向右滚动以查看删除级联。。。