我的sql服务器有问题。
我希望能够创建一个只有一个包含字母和数字的id列的表。当插入新行时,数字应自动递增。
字母不应随行而改变,而数字应随行增加。我希望能够查看ID,并告诉员工来自哪个部门以及他/她是哪个号码。例如IT001,然后是IT002,依此类推。
先感谢您
代替触发器的理想选择:
CREATE TABLE Employees (
Id VARCHAR(16) PRIMARY KEY,
Name VARCHAR(64)
);
GO
CREATE TRIGGER InsteadTrigger on Employees
INSTEAD OF INSERT
AS
BEGIN
BEGIN TRANSACTION
DECLARE @maxvalue INT = (SELECT MAX(CAST(SUBSTRING(Id, 3, 16) as INT)) FROM Employees )
INSERT INTO Employees (Id, Name)
SELECT 'IT' + CAST(ISNULL(@maxvalue, 0) + 1 AS VARCHAR(16)), Name
FROM inserted
COMMIT TRANSACTION
END;
GO
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句