读书人

在一个表中设置2个主键,该如何处理

发布时间: 2012-01-20 18:53:53 作者: rapoo

在一个表中设置2个主键
我在作银行信贷数据库的时候,发现有的表要设置2个主键约束。一般情况下,主键约束只能设置一个,请问怎么设置2个????

原表数据:
表名BankBillNumber
列名描述数据类型空/非空约束条件
BankSiteID银行网点编号char(8)Not nullPK
BillTypeId单据类型编号char(4)Not nullPK
BillNumber单据流水编号varchar(20)Not null



[解决办法]
设置两个主键或更多主键很正常啊
这叫联合主键


CREATE TABLE [dbo].[BankBillNumber](
BankSiteIDchar(8)Not null
BillTypeIdchar(4)Not null
BillNumbervarchar(20)Not null
CONSTRAINT [PK_SBankBillNumber] PRIMARY KEY CLUSTERED
(
[BankSiteID] ASC,[BillTypeId] ASC
)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, FILLFACTOR = 90) ON [PRIMARY]
) ON [PRIMARY]
END
GO

[解决办法]
CREATE TABLE BankBillNumber
(
BankSiteID char(8) not null,
BillTypeId char(4) not null,
BillNumber varchar(20) not null,
CONSTRAINT Bank_PK PRIMARY KEY (BankSiteID,BillTypeId)
)

读书人网 >SQL Server

热点推荐