我有一個表,其中包含僱員名字和姓氏的字段。還有一個用戶名字段。如何在第一個和最後一個名稱字段更新的時候自動填充用戶名?SQL Server 2008:如何根據同一個表中的另一個字段更新字段
我想在這個形式的用戶名場:「公司CompanyX \ FirstName.LastName」
我已經調查觸發器,但我不認爲在表上的觸發器可以自行更新。任何幫助,將不勝感激。謝謝!
我正在使用SQL Server 2008.
我有一個表,其中包含僱員名字和姓氏的字段。還有一個用戶名字段。如何在第一個和最後一個名稱字段更新的時候自動填充用戶名?SQL Server 2008:如何根據同一個表中的另一個字段更新字段
我想在這個形式的用戶名場:「公司CompanyX \ FirstName.LastName」
我已經調查觸發器,但我不認爲在表上的觸發器可以自行更新。任何幫助,將不勝感激。謝謝!
我正在使用SQL Server 2008.
的串聯您可以觸發對這樣的表。
/****** 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
只需注:最好的方法是加入用表和UPDATE列插入。 – gofr1
謝謝,這似乎工作! –
是的,我編輯了查詢。我會覆蓋所有用戶名。我從審計表插入案例中抽取了該示例,但沒有更改以說明更新 –
這是一個計算列的示例。我測試了它,它工作正常。
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
如果表格已經存在,我該如何做到這一點? –
Alter Table Table_1 ADD [UserName] AS(((([Company] +'''+ [FirstName])+'。')+ [LastName])PERSISTED GO –
創建計算列的用戶名,因爲所有這些屬性
是的,觸發器可以做到這一點。但是,當用戶名已經存在時會發生什麼? – Lamak
請顯示一些示例數據並預期輸出 – TheGameiswar
在此表中可以有多個用戶名實例。此表記錄了分配給每個員工的帳戶。 –