我有一张表,其中包含员工名字和姓氏的字段。用户名也有一个字段。如果更新名字和姓氏字段,我将如何自动填充用户名?
我想要这种格式的用户名字段:' CompanyX \ FirstName.LastName'
我已经查看过触发器,但我不认为表上的触发器可以自行更新。任何帮助,将不胜感激。谢谢!
我正在使用SQL Server 2008。
答案 0 :(得分:4)
以下是计算列的示例。我测试了它并且工作正常。
CREATE TABLE [dbo].[Table_1](
[Company] [varchar](50) NULL,
[FirstName] [varchar](50) NULL,
[LastName] [varchar](50) NULL,
[UserName] AS (((([Company]+'\')+[FirstName])+'.')+[LastName]) PERSISTED
) ON [PRIMARY]
GO
答案 1 :(得分:2)
你可以像这样在桌子上制作一个触发器。
/****** Object: Trigger [dbo].[trg_AuditEmployees] Script Date: 08/04/2016 10:24:04 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TRIGGER [dbo].[trg_AuditEmployees]
ON [dbo].[employees]
FOR INSERT, UPDATE
AS
BEGIN
update dbo.employees
set username = company + 'x\' + lastname + '.' + firstname
where id = select id from inserted
END
答案 2 :(得分:0)
创建计算列用户名作为所有这些属性的连接