触发器之修改新插入的字段值

本文介绍了一个SQL触发器的实现案例,该触发器在tel表上进行insert或update操作时,会自动将产品信息中的HTML实体转换为其对应的字符,以确保数据的正确显示。
CREATE TRIGGER tel_procuct ON tel for insert/*定义一个触发器作用在tel表上的insert操作时*/
as/*执行语句开始*/
declare @ord int;/*定义变量@ord为int类型*/
/*通过select查询语句查处表inserted(临时表,结构与被作用表一样,且数据只有源表里被作用的一行)里面的ord字段给变量赋值,也可直接用set直接给变量赋值*/
select @ord=a.ord from inserted a;
update tel set product=replace(product,'&lt;','<') where ord=@ord;/*执行SQL语句*/
update tel set product=replace(product,'&gt;','>') where ord=@ord;
update tel set product=replace(product,'&quot;','"') where ord=@ord;
update tel set product=replace(product,'&nbsp;',' ') where ord=@ord;
update tel set product=replace(product,'&#39;','''') where ord=@ord;
CREATE TRIGGER tel_procuct ON tel for update/*定义一个触发器作用在tel表上的update操作时*/
as/*执行语句开始*/
if(update(product))/*检查是否更新了product列*/
begin
declare @ord int;/*定义变量@ord为int类型*/
/*通过select查询语句查处表inserted(临时表,结构与被作用表一样,且数据只有源表里被作用的一行)里面的ord字段给变量赋值,也可直接用set直接给变量赋值*/
select @ord=a.ord from inserted a;
update tel set product=replace(product,'&lt;','<') where ord=@ord;/*执行SQL语句*/
update tel set product=replace(product,'&gt;','>') where ord=@ord;
update tel set product=replace(product,'&quot;','"') where ord=@ord;
update tel set product=replace(product,'&nbsp;',' ') where ord=@ord;
update tel set product=replace(product,'&#39;','''') where ord=@ord;
end
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值