sql触发器中修改语句的疑问...

来源:百度知道 编辑:UC知道 时间:2024/06/13 00:48:43
流程是这样的:
当Tc_Content表接收到数据后,根据服务代号ServiceCode从Tc_User表中提取用户信息
将提取的用户信息连同Tc_Content中的一些信息写入表Tc_SmsMt中
这里我是用两个触发器来实现:
一、当Tc_Content表中接收数据后在Tc_User表中查询相应信息并写入Tc_SmsMt表中
create trigger TriggerName
on Tc_Content
for insert
as
insert into Tc_SmsMt(ServiceCode,Mobile)
select Tc_User.ServiceCode,Tc_User.Mobile
from Tc_User,inserted
where Tc_User.ServiceCode=inserted.TServiceCode

二、根据Tc_SmsMt中插入的信息运行第二个触发器TriggerName1根据Tc_Content中的信息修改Tc_SmsMt中的一些字段信息
create trigger TriggerName1
on Tc_SmsMt
for insert
as
update Tc_SmsMt
set Tc_SmsMt.Content=Tc_Content.TConent,
Tc_SmsMt.FeeType=Tc_Content.TFeeType,
Tc_SmsMt.FeeCode=Tc_Content.TFeeCode,
Tc_SmsMt.SendDate=Tc_Content.TDate
select Tc_Content.TConent,Tc_Content.TFeeType,Tc_Content.TFeeCode,Tc_Content.TDate
from Tc_Content,inserted
where Tc_Content.TServiceCode=inserted.ServiceCode

在编译的时

我觉得你只需要Insert触发器就应该可以了吧?
CREATE TRIGGER TriggerName
ON Tc_Content
FOR INSERT
AS
INSERT INTO Tc_SmsMt(ServiceCode,Mobile,Content,FeeType,FeeCode,SendDate)
SELECT Tc_User.ServiceCode,Tc_User.Mobile,Tc_Content.TConent,Tc_Content.TFeeType,Tc_Content.TFeeCode,Tc_Content.TDat
FROM Tc_User INNER JOIN inserted
ON Tc_User.ServiceCode=inserted.TServiceCode
INNER JOIN Tc_Content
ON Tc_Content.TServiceCode = inserted.TServiceCode

不需要再对Tc_SmsMt表做嵌套触发吧,你测试一下

楼主不是我说你,昨天你问过这个问题,你也不好好看看我的回答,直接就按自己的思路采用一个本身就有问题的答案-__-!,你再好好看看昨天的那个贴吧
http://zhidao.baidu.com/question/62085725.html