sql-server – 寻找更改插入字符串的触发器?

我有一个MSSQL Server 2008数据库.
我的数据库中有一些表格如下:
table1,table2,table3,….
每个表都有一个NVARCHAR(50)字段(名称)
现在,我想更改每个sql查询在此字段中插入的字符串
例如:
我们有一个想在“名称”字段中插入“示例文本”的查询.
我想用SQL Trigger将其更改为“Sample Name”

是否可以使用sql触发器?如果是的话,怎么样?我在T-SQL中很天真
有没有更好的方法来使用SQL Server?

最佳答案
如果你想使用你的通话触发器,我只是建议一个不同的方法

您可以使用表的默认值或绑定功能

例如,在您的table1中,您可以通过下面的脚本创建Name column =’Sample Name’的默认值

ALTER TABLE table1 ADD CONSTRAINT
    DF_Table1_Name DEFAULT N'Sample Name' FOR Name
GO

看下面的图片

下面的代码为您的表添加了一个触发器,它在插入后工作,它更新添加的名称并用’*’替换’x’

CREATE TRIGGER ReplacingTrigger 
ON  table1  
AFTER INSERT 
AS  
BEGIN 
    UPDATE table1
    SET table1.name = replace(table1.name,'x','*')
    FROM table1
    INNER JOIN inserted i on i.name = table1.name
END 

我建议如果你在表中有一个ID在连接中使用它来找到插入的确切记录,使其准确如下

CREATE TRIGGER ReplacingTrigger 
ON  table1  
AFTER INSERT 
AS  
BEGIN 
    UPDATE table1
    SET table1.name = replace(table1.name,'x','*')
    FROM table1
    INNER JOIN inserted i on i.id= table1.id
END 

转载注明原文:sql-server – 寻找更改插入字符串的触发器? - 代码日志