Max*_*ion 9 t-sql sql-server mutual-exclusion sql-server-2012
我有一个表交易,我在一个交易中保存两个记录,一个用于借记和其他贷记.
所以,我有表两列creditAmount(Money)
和debitAmount(Money)
.
我想要一个表级约束,每列中的任何一列都不为空.即如果第3行为creditAmount
空则debitAmount
必须保留一些值和反之亦然.
连续插入记录时如何确保相同?
Chr*_*tal 18
您可以向表中添加CHECK约束:
ALTER TABLE Transactions ADD CONSTRAINT CK_Transactions_DebitOrCreditExists
CHECK ((creditAmount IS NULL AND debitAmount IS NOT NULL)
OR (creditAmount IS NOT NULL AND debitAmount IS NULL))
Run Code Online (Sandbox Code Playgroud)