我需要为 2 个或更多表定义和生成主键。
表包含相同类型的数据,但对于某些业务规则,我们必须将它们分开,比如
表 A = LOCAL_CUSTOMERS
表 B = INTERNATIONAL_CUSTOMERS
两者都包含相同的列,例如 CUSTOMER_ID C_NAME、CITY ....等
在设计主键时,我希望这些键是以下组合 PREFIX 和一个自动生成的数字,作为一个自动增加的 int PK 就可以了。
例如,表“LOCAL_CUSTOMERS”的 CUSTOMER_ID (PK)
LOC1、LOC2、LOC3、……LOC5000
和表“INTERNATIONAL_CUSTOMERS”的 CUSTOMER_ID (PK)
INT1, INT2, INT3,...... INT5000
WHERE LOC 和 INT 是 LOCAL 和 INTERNATIONAL 的前缀。
我们可以使用 int 在“标识规范”中设置自动递增,但我该怎么做呢? 我需要为列设置“计算列规范”吗?
谢谢
最佳答案
您可以在区域 ID 和自动 ID 上使用复合键。
还可以有一个触发器,在插入时将 pk 设置为自定义字符串。
一般来说,最好将它们保存在同一个表中(因为它们具有相同的列)并且仅在本地与国际之间有所不同。
关于sql-server - 具有自动增量的自定义主键生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1996831/