/*===========================<一>==========================

在SQL中逻辑表达式的值有三种:
  1.TRUE
  2.FALSE
  3.UNKNOWN

UNKNOWN逻辑值通常出现在包含NULL的逻辑表达式中,例如:
  1. NULL > 0
  2. NULL = NULL
  3. 1 + NULL = X

============================<二>==========================

1. 在所有的查询筛选器中【ON、WHERE、HAVING】,都把UNKNOWN当
做FALSE处理;
2. 在CHECK约束中UNKNOWN的值被当做TRUE处理;
3. 在UNIQUE约束、排序操作、分组操作UNKNOWN的值被当做TRUE处理;

============================<三>==========================*/

首先,你的测试数据库中创建测试表,脚本如下:

USE Study --/*我的测试数据库是Study,这里需要修改成你的数据库名。*/
GO

CREATE TABLE Salary(
    SalaryID NVARCHAR(36) NOT NULL
    ,EmployeeID NVARCHAR(36) 
    ,Salary INT
CONSTRAINT [PK_Salary] PRIMARY KEY CLUSTERED 
(
    [SalaryID] ASC
)
WITH (PAD_INDEX = OFF
, STATISTICS_NORECOMPUTE = OFF
, IGNORE_DUP_KEY = OFF
, ALLOW_ROW_LOCKS = ON
, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO

ALTER TABLE [dbo].[Salary] WITH NOCHECK ADD CONSTRAINT [CK_Salary] CHECK (([Salary] > 0))
GO

ALTER TABLE [dbo].[Salary] CHECK CONSTRAINT [CK_Salary]
GO

ALTER TABLE Salary ADD CONSTRAINT AK_Employee UNIQUE (EmployeeID);
GO
View Code

相关文章: