我有桌子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')
它将自己完成其余的工作。
答案 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');
然后在使用它时计算该值。