Sil*_*ent 20 sql-server sql-server-2008
我有一张下面的表格
CREATE TABLE MyTable
(
ID INTEGER DEFAULT(1,1),
FirstIdentifier INTEGER NULL,
SecondIdentifier INTEGER NULL,
--.... some other fields .....
)
Run Code Online (Sandbox Code Playgroud)
现在插入值时,FirstIdentifier和SecondIdentifier之间的列之一应为NOT NULL.无论如何通过架构强制执行它?
小智 26
使用CHECK约束可以实现这一点:
CHECK (FirstIdentifier IS NOT NULL OR SecondIdentifier IS NOT NULL)
Run Code Online (Sandbox Code Playgroud)
虽然CHECK约束是表的一部分(因此是"模式"?),但它们可能不符合所需的定义.上面的CHECK不是互斥的,但可以改为这样.
快乐的编码.
| 归档时间: |
|
| 查看次数: |
8067 次 |
| 最近记录: |