如何在插入或更新到表格时添加默认的后缀值?

时间:2015-09-08 14:57:13

标签: sql sql-server-2008-r2 sql-update sql-insert

我有桌子Tbl

ID | Name    | Email
-------------------------
1  | Sample1 | NULL
2  | Sample2 | NULL
3  | Sample3 | NULL

我想更新"电子邮件"字段这样一种方式,它将具有一些固定的后缀值,以便更新后我的表数据在表中将如下所示

ID | Name    | Email
-------------------------
1  | Sample1 | Sample1@abc.com
2  | Sample2 | Sample2@abc.com
3  | Sample3 | Sample3@abc.com

在创建或设计表时,是否有任何默认设置或选项可以为每个更新或插入的值提供固定的后缀值?

所以我只需要写下面的陈述

UPDATE Tbl SET Email = Name

OR

INSERT INTO Tbl (ID, Name, Email)
VALUES (4, 'Sample4', 'Sample4')

它将自己完成其余的工作。

2 个答案:

答案 0 :(得分:1)

这应该有效: Update Tbl Set Email = Name + '@abc.com'

[编辑] 要根据需要编写insert,您必须使用Trigger

Create Trigger on Tbl after insert ...

https://msdn.microsoft.com/fr-fr/library/ms189799(v=sql.120).aspx

答案 1 :(得分:1)

如果值始终相同(似乎不太可能),则可以改为使用计算列:

alter table tbl add email as (Name + '@abc.com');

然后在使用它时计算该值。