Sql-Server
尋找一個觸發器來更改插入字元串?
我有一個 MSSQL Server 2008 數據庫。
我的數據庫中有一些表,如下所示:
table1,table2,table3,…。
每個表都有一個 NVARCHAR(50) 欄位(
Name
)現在,我想更改每個 sql 查詢在該欄位中插入的字元串,
例如:
我們有想要在
Name
欄位中插入“範例文本”的查詢。我想用 SQL 觸發器將其更改為“範例名稱”
sql觸發器可以嗎?如果是這樣,如何?我對 T-SQL 很天真
有沒有更好的方法來使用 SQL Server 呢?
如果您想使用觸發器,那就是您的電話,我只是建議一種不同的方法
您可以使用
Default Value or Binding
表格的功能例如,在您的 中
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