0
夥計們,我有一個名爲tblNames的表,其中一個表名稱爲'UpFileName'。是否可以創建一個插入觸發器來自動替換UpFileName字段中的所有'%20'來強調'_'?創建操縱SQL Server中字段的觸發器
我使用的是SQL Server 2005中
夥計們,我有一個名爲tblNames的表,其中一個表名稱爲'UpFileName'。是否可以創建一個插入觸發器來自動替換UpFileName字段中的所有'%20'來強調'_'?創建操縱SQL Server中字段的觸發器
我使用的是SQL Server 2005中
一般而言,這樣,你的表
CREATE TRIGGER trTriggerName ON tblNames
AFTER INSERT AS
UPDATE tblNames
SET UpFileName = replace(UpFileName,'%20','_')
FROM tblNames t
JOIN INSERTED i ON t.ID = i.ID
不過的PK更換ID,如果你不希望人們插入某些類型的數據,然後使用檢查約束。現在你正在爲每個插入物做額外的工作,因爲這個觸發器觸發了
爲什麼不在插入/更新數據時使用'REPLACE(your_string,'%20','_')'? REPLACE:http://technet.microsoft.com/en-us/library/ms186862%28SQL.90%29.aspx – 2010-05-19 17:35:48
@OMG小馬,更好的是,如果CHARINDEX在列中找到任何'%20',檢查約束失敗!使應用程序寫入正確的數據! – 2010-05-19 17:38:24