首页 > 解决方案 > SQL Server:检查约束表达式

问题描述

我在 SQL Server 中有一个检查约束,它只允许 3 个可能的值,表达式是这样的:

(([READ_WRITE] = 'H' OR [READ_WRITE] = 'W' OR [READ_WRITE] = 'R'))

我想使用查询更新此检查约束,因为我无权访问 Management Studio。

标签: check-constraintsmssql-jdbc

解决方案


您基本上需要首先删除旧的检查约束:

ALTER TABLE dbo.YourTable
    DROP CONSTRAINT CHK_YourTable_ReadWriteValues;

(并填写您的表的任何实际名称及其上的检查约束),然后您需要创建新名称:

ALTER TABLE dbo.YourTable
    ADD CONSTRAINT CHK_YourTable_NewReadWriteValues
        CHECK ([READ_WRITE] IN ('X', 'Y', 'Z'));

推荐阅读