需要针对以下情况的解决方案: 我需要更新T1,列电子邮件 以下数据: id来自T1 + @ test.com
我需要的结果应该是这样的= 1234@test.com, 该号码必须是T1 + @ test.com的ID
例如:
table 1 = customer
COLUMNS = ID, Email,
需要更新电子邮件列 结果应如下所示:
ID Email
1 1@test.com
2 2@test.com
3 3@test.com
我在现有的表上执行此操作,而不是创建它们。 tnx提前
答案 0 :(得分:0)
你在找这样的东西吗?
CREATE TABLE T1 (ID INT, OtherData VARCHAR(100),eMail VARCHAR(100));
INSERT INTO T1(id,OtherData) VALUES(1,'Row 1'),(2,'Row 2'),(3, 'Row 3');
SELECT * FROM T1;
UPDATE T1 SET eMail= CAST(ID AS VARCHAR(10)) + '@test.com'
SELECT * FROM T1;
--Clean Up
DROP TABLE T1;
结果:
ID OtherData eMail
1 Row 1 1@test.com
2 Row 2 2@test.com
3 Row 3 3@test.com
答案 1 :(得分:0)
UPDATE T1 SET
[Email] = T2.ID + '@test.com'
FROM T2 INNER JOIN T1
ON T2.[key_column] = T1.[foreign_key_column];
这是你想要的吗?
答案 2 :(得分:0)
使用触发器
触发器用于在更改(插入,更新和删除)内容时插入或更新数据。 你可以这样使用。
CREATE TRIGGER trigger_name trigger_time trigger_event ON table_name
FOR EACH ROW
BEGIN
...
END;
您可以在BEGIN和END之间编写插入代码。