Sql-Server

如何為主鍵創建規則

  • September 5, 2012

我正在使用 SQL Server 2005,我需要創建一個帶有字母字元和 3 個數字的主鍵:

   p001
   b201

我知道我需要創建一個規則並將該規則綁定到主鍵列。我在使用LIKE查詢創建規則時有點困惑:

CREATE RULE pK-rule AS @pk LIKE'[a-z][0-9][0-9][0-9]'

有人可以建議我需要改變什麼嗎?

USE YourDatabase
GO

CREATE RULE PkRule AS
@pkValue LIKE '[a-z][0-9][0-9][0-9]'
GO

sp_bindrule 'PkRule','dbo.YourTable.ColName'

您可能不想使用規則而是使用約束,在這種情況下是檢查約束。您不想使用規則的原因是規則已被棄用,這意味著它們將來會從 SQL Server 中刪除,因此最好使用檢查約束。像這樣的東西可以解決問題。

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

引用自:https://dba.stackexchange.com/questions/22806