下面是创建所描述的触发器的语法:
测试表:
CREATE TABLE xx(UserName varchar(100))
你将不得不扩大触发包含所有列。
触发语法:
CREATE TRIGGER xx_trggr
ON xx
INSTEAD OF INSERT
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO xx (UserName)
SELECT stuff(UserName, 1, charindex(':-', UserName) + 1, '')
FROM inserted
END
GO
插入数据:
INSERT xx(UserName)
values
('[email protected]:-JSmit'),
('[email protected]:-JanSmit'),
('[email protected]:-PPark')
测试输入:
SELECT UserName FROM xx
结果:
UserName
JSmit
JanSmit
PPark
你可以做一个触发,而不是之后,但这需要一个唯一的密钥
使用此表来代替:
CREATE TABLE xx(id int identity(1,1), UserName varchar(100))
这触发:
CREATE TRIGGER xx_trggr
ON xx
AFTER INSERT
AS
BEGIN
SET NOCOUNT ON;
UPDATE xx
SET [UserName] = stuff(xx.UserName, 1, charindex(':-', xx.UserName) + 1, '')
FROM inserted JOIN xx On inserted.id = xx.id
END
相同的结果其他触发。
你应该显示你到目前为止的尝试。 – Galigator