首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

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

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

在一个表中设置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)
)

热点排行