22,207
社区成员
发帖
与我相关
我的任务
分享
create table tb
(
id int,
name nvarchar(25),
des text
)
--替换字符表
CREATE TABLE KEYWORD
(
A NVARCHAR(10),
B NVARCHAR(10),
C NVARCHAR(10),
D NVARCHAR(10),
)
INSERT INTO KEYWORD
SELECT '美女','女生','爱','love'
CREATE trigger tri_tb on tb
instead of insert
as
begin
SELECT * INTO #t FROM inserted
update a set a.des='可爱的'+REPLACE(REPLACE(CAST(des AS VARCHAR(8000)),A,B),C,D)+'嫁给我吧'
from #t a join KEYWORD b on charindex(b.A,cast(a.des as varchar(8000)))>0 OR charindex(b.C,cast(a.des as varchar(8000)))>0
--des不能超过8000长度 否则报错。
insert into tb
select * from #t
end
insert into tb
select 1,'张三','美女我爱你' union all
select 2,'李四','我爱美女' UNION ALL
SELECT 3,'LL','WADAD'
select * from tb
-------------------
id name des
1 张三 可爱的女生我love你嫁给我吧
2 李四 可爱的我love女生嫁给我吧
3 LL WADAD