我想创建一个触发器来根据名字和姓氏创建电子邮件。基本上,在填充表时,如果电子邮件为NULL,我想自动创建一个电子邮件,名字为[email protected]
这是我想出的。我知道是连接将所有内容都丢弃了。
CREATE TRIGGER trg_assignEmail On PersonID
AFTER INSERT, UPDATE
AS
BEGIN
UPDATE PersonID
SET Email=
(SELECT(RTRIM(FirstName), RTRIM(LastName)) FROM PersonID)
WHERE Email IS NULL;
END
我收到的错误消息是Incorrect syntax near ','
。
当我插入SET Email=UPPER(FirstName)
而不是RTRIM时,它们都可以正常工作,并且所有NULL电子邮件都更改为名字,因此我对其余的代码充满信心。因此,我认为问题在于如何正确地连接名+姓的字段。
CREATE TRIGGER trg_assignEmail On PersonID
AFTER INSERT, UPDATE
AS
BEGIN
UPDATE PersonID
SET Email= SELECT RTRIM(FirstName)+''+RTRIM(LastName) FROM PersonID
WHERE Email IS NULL;
END
CREATE TRIGGER trg_assignEmail On PersonID
AFTER INSERT, UPDATE
AS
BEGIN
UPDATE PersonID
SET Email=CONCAT(RTRIM(FirstName), RTRIM(LastName))
WHERE Email IS NULL;
END