小编And*_*rov的帖子

检查约束在SQL Server 2016中不起作用

我在下面有一个简单的例子

begin tran

CREATE TABLE [dbo].[Filters]
(
    [Id]                    INT NOT NULL IDENTITY,
    [FCode]                 varchar(30) null,
    [FVersion]              varbinary(892) null,

    CONSTRAINT [PK_Filter] PRIMARY KEY CLUSTERED ([Id]),

    CONSTRAINT [CK_Filters_FCode_FVersion]  
        CHECK (([FCode] IS NULL AND [FVersion] IS NULL) 
               OR (LEN([FCode]) > 0 AND DATALENGTH([FVersion]) > 0)), 
)

INSERT INTO [dbo].[Filters] (FCode, FVersion)
VALUES  (NULL, NULL),
        (NULL, 0x6BE348),
        ('ASD', NULL),
        ('ASD', 0x6BE348)

SELECT
    IIF(([FCode] IS NULL AND [FVersion] IS NULL) 
         OR (LEN([FCode]) > 0 AND DATALENGTH([FVersion]) > 0) , 1, 0) AS [check], *
FROM …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server constraints

3
推荐指数
1
解决办法
182
查看次数

标签 统计

constraints ×1

sql-server ×1

t-sql ×1