如何为主键创建规则

Bij*_*ose 1 sql-server-2005 sql-server constraint primary-key

我正在使用 SQL Server 2005,我需要创建一个带有字母字符和 3 个数字的主键:

    p001
    b201
Run Code Online (Sandbox Code Playgroud)

我知道我需要创建一个规则并将该规则绑定到主键列。我在使用LIKE查询创建规则时有点困惑:

CREATE RULE pK-rule AS @pk LIKE'[a-z][0-9][0-9][0-9]'
Run Code Online (Sandbox Code Playgroud)

有人可以建议我需要改变什么吗?

mrd*_*nny 9

您可能不想使用规则而是使用约束,在这种情况下是检查约束。您不想使用规则的原因是规则已被弃用意味着它们将在将来的某个时候从 SQL Server 中删除,因此最好改用检查约束。像这样的事情会成功。

create table t1 (c1 char(4) primary key check (c1 like '[a-z][0-9][0-9][0-9]'), c2 int)
Run Code Online (Sandbox Code Playgroud)