Sql server 是否跨表创建唯一索引?

Sql server 是否跨表创建唯一索引?,sql-server,sql-server-2012,unique-index,Sql Server,Sql Server 2012,Unique Index,假设我有以下几点 table a serial_no varchar(8) serialised bit table b: serial_no varchar(8) (foreign key) return_date datetime null 仅当表a中的序列化字段为true时,我可以创建一个不允许按序列号和空返回日期重复记录的唯一索引 比如: create unique index unq_loan_serial_id on table b(serial_no) where

假设我有以下几点

table a
serial_no varchar(8)  
serialised bit

table b:
serial_no varchar(8) (foreign key)
return_date datetime null
仅当表a中的序列化字段为true时,我可以创建一个不允许按序列号和空返回日期重复记录的唯一索引

比如:

create unique index unq_loan_serial_id
    on table b(serial_no) where return_date is null and table a.serialised = 1
CREATE VIEW dbo.b_serialised --Guessing everything in dbo schema
WITH SCHEMABINDING
AS
  SELECT
    b.Serial_No
  FROM
     dbo.a
       inner join
     dbo.b
       on
          a.Serial_No = b.Serial_No --Guessing this was the implied join
  WHERE
    b.return_date is null and
    a.serialised = 1

有什么办法可以做到这一点吗?谢谢,您不能直接将其应用于表,但可以创建索引视图

比如:

create unique index unq_loan_serial_id
    on table b(serial_no) where return_date is null and table a.serialised = 1
CREATE VIEW dbo.b_serialised --Guessing everything in dbo schema
WITH SCHEMABINDING
AS
  SELECT
    b.Serial_No
  FROM
     dbo.a
       inner join
     dbo.b
       on
          a.Serial_No = b.Serial_No --Guessing this was the implied join
  WHERE
    b.return_date is null and
    a.serialised = 1

create unique clustered index UQ_b_serialised on b_serialised (Serial_No)

是否允许相同日期时间的重复值?