如何约束这样的条件?SQL Server
我需要创建一个表如何约束这样的条件?SQL Server,sql,sql-server,constraints,Sql,Sql Server,Constraints,我需要创建一个表TEAMS,并创建一个约束,即coach(TeamCoachName)只能是一个团队的coach(TeamName) 您可以使用UDF执行此操作,该UDF接受TeamName和CoachName,如果CoachName与任何其他团队关联,则返回“true” 然后在检查约束中检查该函数的值 (尽管实际上Jamie提出了一个很好的观点。如果TeamName也是唯一的,那么您所需要的就是对CoachName的唯一约束。您需要我的方法的唯一方法是,如果相同的TeamName可以出现在多行
TEAMS
,并创建一个约束,即coach(TeamCoachName
)只能是一个团队的coach(TeamName
)
您可以使用UDF执行此操作,该UDF接受
TeamName
和CoachName
,如果CoachName
与任何其他团队关联,则返回“true”
然后在检查约束中检查该函数的值
(尽管实际上Jamie提出了一个很好的观点。如果
TeamName
也是唯一的,那么您所需要的就是对CoachName
的唯一约束。您需要我的方法的唯一方法是,如果相同的TeamName
可以出现在多行中。)您可以使用一个UDF来实现这一点,该UDF接受一个TeamName
和一个CoachName
,如果CoachName
与任何其他团队相关联,则返回“true”
然后在检查约束中检查该函数的值
(虽然实际上Jamie提出了一个很好的观点。如果
TeamName
也是唯一的,那么您所需要的就是对CoachName
的唯一约束。您需要我的方法的唯一方式是,如果相同的TeamName
可以出现在多行中。)这是您的Team
表,如果一个coach只能与一个团队行关联,那么它只是团队CoachName
上的唯一约束
,这是您的团队
表,如果一个coach只能与一个团队行关联,然后它只是对TeamCoachName
的一个唯一约束
可能重复的可能重复的可能重复我想你非常理解我的问题,这是我第一次使用SQL,我仍然不知道如何以正确的方式编写它,你能帮我写一行完整的代码,这样我就可以在服务器管理中执行它吗?我想你非常理解我的问题,这是我第一次使用SQL,我仍然不知道如何用正确的方式编写它,你能帮我写一行完整的代码,这样我就可以在服务器管理中执行它吗?
/* Table number 2: Teams */
CREATE TABLE TEAMS
(
TeamName VARCHAR(255) UNIQUE,
YearOfFounding INT,
TeamOwnerName VARCHAR(255),
StadiumName VARCHAR(255),
GeographicArea VARCHAR(255)
CHECK (GeographicArea IN ('North','Central','South')),
TeamCoachName VARCHAR(255),
CONSTRAINT Names UNIQUE (TeamName, TeamCoachName),
CONSTRAINT OneTeamCoach
)