一个简单的触发器问题

来源:百度知道 编辑:UC知道 时间:2024/06/11 11:25:52
有一个stu表,与stu2表建立了同步的触发器,对stu进行插入或者修改的时候,stu2也会跟着改变。现在在stu表建立了这样的触发器,保证输入的列s_no,s_name不包含空格键和回车键。
create trigger cl on stu
after insert,update
as
update a
set a.s_no=replace(replace(replace(a.s_no,' ',''),char(10),''),char(13),'') ,
a.s_name=replace(replace(replace(a.s_name,' ',''),char(10),''),char(13),'')
from stu a,inserted b
where a.s_no=b.s_no
这样操作只能更改stu表的,没有同步更新到stu2表,例如:在stu表中输入 '001','小 小 心',它会自动更改为‘小小心’,但stu2中还是‘小 小 心’。现在是要在stu2中创建一个同样的触发器,还是修改上面的触发器?该怎样操作比较好呢?

这样太麻烦了。触发器越多性能越慢
还不如写个函数,在源就把空格,和回车处里掉

create trigger cl on stu2 --(stu改为stu2,就可以了)
after insert,update
as
update a
set a.s_no=replace(replace(replace(a.s_no,' ',''),char(10),''),char(13),'') ,
a.s_name=replace(replace(replace(a.s_name,' ',''),char(10),''),char(13),'')
from stu2 a,inserted b
where a.s_no=b.s_no