【发布时间】:2017-05-05 10:38:47
【问题描述】:
假设我有一个地址表,其中包含一家制造公司不同设施的地址。 外键让我知道地址属于哪个公司,但我需要一个代理 ID 来区分每个设施。此 id 应根据外键值自动增加。 注意:我只需要简单的整数值作为键。
例如:
我的表有以下列,ORGANIZATION_ID 是外键。 FACILITY_ID 是依赖于外键的第二个代理键。
ADDRESS_TABLE
->ORGANIZATION_ID
->FACILITY_ID
->ADDRESS_LINE_1
->ADDRESS_LINE_2
->CITY
->STATE
->ZIP_CODE
我希望设施 ID 从 1 自动增加,具体取决于 组织编号。即
ORGANIZATION_ID 1
FACILITY_ID 1
当我为新组织插入数据时,设施应该从 1 开始
ORGANIZATION_ID 2
FACILITY_ID 1
下次我为同一组织插入数据时,我的设施 ID 应该相应增加 -
ORGANIZATION_ID 1
FACILITY_ID 2
有没有办法在 DB2 中实现这一点? 我目前使用的是 DB2 V 10.5.6
【问题讨论】:
-
@Esperento57 我再次更新了我的问题。我一直在紧张的日程安排之间发布此内容..抱歉出现错误..
-
你为什么要这样做?只需在您的表 ADDRESS_TABLE 上创建一个列自动增量作为主键,您应该在所有表上都有主键。它足以保证单一性和完整性
标签: sql db2 auto-increment db2-luw surrogate-key