Sql 如何添加数据库约束18或更高版本

Sql 如何添加数据库约束18或更高版本,sql,Sql,我已经创建了一个表,我需要添加一个数据库约束,18岁以下的客户不能租用评级为“18或以上”的电影。如何使用SQL将其添加到我的表中您可以使用触发器。当您希望在系统中输入信息以订购电影时,如果年龄小于所需的最低年龄,则不允许用户创建记录 下面的代码片段完全实现了这个场景 CREATE TABLE Customers ( ID int identity, FirstName nvarchar(100), LastName nvarchar(100), Age int, primary key(ID)

我已经创建了一个表,我需要添加一个数据库约束,18岁以下的客户不能租用评级为“18或以上”的电影。如何使用SQL将其添加到我的表中

您可以使用触发器。当您希望在系统中输入信息以订购电影时,如果年龄小于所需的最低年龄,则不允许用户创建记录

下面的代码片段完全实现了这个场景

CREATE TABLE Customers
(
ID int identity,
FirstName nvarchar(100),
LastName nvarchar(100),
Age int,
primary key(ID))


CREATE TABLE Films
(
ID int identity,
FilmName nvarchar(100),
MinimumAge int,
primary key(ID))


CREATE TABLE OrderFilms
(
ID int identity,
CustomerID int,
FilmID int,
primary key(ID),
foreign key(CustomerID) references Customers,
foreign key(FilmID) references Films)


create trigger trigger_for_insert_into_OrderFilms
On OrderFilms
For Insert
AS
Declare @film int
Declare @customer int

Declare @filmage int
Declare @customerage int

set @film = (SELECT top 1 FilmID FROM inserted)
set @customer = (SELECT top 1 CustomerID FROM inserted)

set @filmage = (SELECT MinimumAge FROM Films WHERE ID = @film)
set @customerage = (SELECT Age FROM Customers WHERE ID = @customer)

IF(@filmage > 18 AND @customerage < 18)
BEGIN
PRINt 'ERROR, CUSTOMER AGE THE CUSTOMER IS YOUNG'
RollBack
END

你能多分享一下你桌子的结构吗?听起来,您只需要一个带有年龄约束的列,该列对于成人来说要么是布尔值,然后对照它进行检查。i、 e.选择*从电影中,0中的成人将表示任何非成人电影,其中选择*从电影中,1,0中的成人将表示任何成人或非成人电影请标记数据库和表定义请添加表脚本,以便其他人了解您正试图做什么,什么是字段等。还可以用数据库、SQL等标记您的问题,以扩大范围