Ограничение для значения бита в TSQL - PullRequest
1 голос
/ 18 ноября 2010

Предполагая, что у меня есть таблица как таковая

[StockBarcodeID] [uniqueidentifier] NOT NULL,
[UserID] [uniqueidentifier] NOT NULL,
[StockID] [uniqueidentifier] NOT NULL,
[UnitPrice] [money] NOT NULL,
[Barcode] [varchar](16) NOT NULL,
[IsDefault] [bit] NOT NULL,
[LastUpdated] [datetime] NOT NULL,

Как можно создать ограничение, которое позволяет использовать только 1 строку штрих-кода по умолчанию для каждого запаса?

Кажется, я не могу разобраться с этим. Это уникальное ограничение или ограничение проверки?

1 Ответ

1 голос
/ 18 ноября 2010

Создать вид, который показывает только штрих-коды по умолчанию.Затем создайте уникальный индекс для этого представления.

CREATE VIEW dbo.DefaultBarcode
WITH SCHEMABINDING
AS
    SELECT StockID, Barcode
    FROM dbo.Barcode
    WHERE IsDefault = 1
GO
CREATE UNIQUE CLUSTERED INDEX UC_DefaultBarcode ON dbo.DefaultBarcode (StockID)
GO
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...