Sql 如何在表中插入前验证记录
我有两张桌子。在表2中,我有表1中的外键 当我在表2中插入一条记录时,外键(IDFK)的值为1,那么我需要为国家/地区设置值,如果IDFK的值为2,那么我需要设置值日期和截止日期。列Country、Date和DueDate可为空。但根据IDFK的值,它们必须具有一些值 不使用insert语句的逻辑是否可以保留此规则 表1:Sql 如何在表中插入前验证记录,sql,sql-server,Sql,Sql Server,我有两张桌子。在表2中,我有表1中的外键 当我在表2中插入一条记录时,外键(IDFK)的值为1,那么我需要为国家/地区设置值,如果IDFK的值为2,那么我需要设置值日期和截止日期。列Country、Date和DueDate可为空。但根据IDFK的值,它们必须具有一些值 不使用insert语句的逻辑是否可以保留此规则 表1: Id Name ============== 1 Europe 2 Australia Id IDFK Name Country Dat
Id Name
==============
1 Europe
2 Australia
Id IDFK Name Country Date DueDate
===========================================================
1 1 Package1 France NULL NULL
2 1 Package2 Spain NULL NULL
3 2 Package3 NULL 2016-02-21 2016-03-24
4 2 Package4 NULL 2016-02-24 2016-03-24
表2:
Id Name
==============
1 Europe
2 Australia
Id IDFK Name Country Date DueDate
===========================================================
1 1 Package1 France NULL NULL
2 1 Package2 Spain NULL NULL
3 2 Package3 NULL 2016-02-21 2016-03-24
4 2 Package4 NULL 2016-02-24 2016-03-24
我想你可以为这张支票在insert上写一个触发器。使用而不是插入,它将为您提供帮助。我建议在应用程序端构建此验证或开发用于附加数据的存储过程。这不是审计或低级控制(有效电子邮件或smth)-这是高级“业务”知识。