sql - 如何使分支 ID 依赖于所选的分支?
问题描述
我正在尝试创建一个自定义主键,该主键递增并依赖于输入的分支。例如,如果我输入'MIAMI'作为分支,ID将显示为MI0001,如果我输入'CALIFORNIA',它将显示CA0001等等。我该怎么做?这是我到目前为止所得到的。
CREATE TABLE dbo.tblCompany
(ID INT IDENTITY(1,1) NOT NULL PRIMARY KEY CLUSTERED,
CompanyID AS 'MI-' + RIGHT('00000000' + CAST(ID AS VARCHAR(3)), 3) PERSISTED,
FirstName VARCHAR(30),
LastName VARCHAR(30),
Branch VARCHAR(100) NOT NULL
CHECK(Branch IN('MIAMI', 'CALIFORNIA', 'NEW YORK', 'SEATTLE'))
)
解决方案
您必须使用 INSTEAD OF INSERT 触发器,并扫描目标表或为每个分支维护单独的 SEQUECE 对象。
所以这不值得做,你不应该尝试。
推荐阅读
- mysql - 多个表的 JOIN 语句不起作用
- grep - 使用 grep -v '^$' 时出现非法变量名错误
- android - 谷歌地图 - TileOverlay - 拉伸瓷砖以获得更高的缩放级别
- python - 如何键入提示 Python 函数返回从超类派生的任何类的实例?
- excel - 从 Excel 保存多个 PDF 文件
- kotlin - 在泛型中使用 Nothing 是一个好习惯吗?
- javascript - 如何针对不同的数组转换或排序数组?
- r - 仅在单击菜单项时加载闪亮模块
- sap - SAPJco 调用 BAPI_MATERIAL_DISPLAY
- python - 大熊猫整数到日期时间索引的多索引?