各位大虾:请问DTS到底能不能触发INSERT,UPDATE,DELETE触发器?

crazycsu 2004-09-03 04:52:02
若能,该怎么写?
我写的INSERT触发器总是不能被触发,FAINTING.............
请大虾们帮帮我!!
...全文
265 43 打赏 收藏 转发到动态 举报
写回复
用AI写文章
43 条回复
切换为时间正序
请发表友善的回复…
发表回复
zonelive 2004-09-04
  • 打赏
  • 举报
回复
你说的不行是指结果不正确还是说有报错
如果是报错的话贴出来看看
crazycsu 2004-09-04
  • 打赏
  • 举报
回复
to:zonelive(peter)
刚试了,不行,请您各我看看代码
我的触发器是这样写的:
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'Auto_Process_Statistics')
drop TRIGGER Auto_Process_Statistics
GO

CREATE TRIGGER Auto_Process_Statistics
ON Trouble_Record_Table
for Insert,update
As
Declare @Record_Date Datetime
Select @Record_Date = First_Accept_Time FROM Inserted
IF NOT EXISTS (Select * FROM Statistics_Table b WHERE @Record_Date =b.Record_Date)
Begin
Insert Into Statistics_Table (Operation_Id,Office_Name,sum) Select Operation_Type_Id,Office_Name,count(*) From Trouble_Record_Table Group by Operation_Type_Id,Office_Name ORDER BY COUNT(*) DESC
end

谢谢!
zonelive 2004-09-04
  • 打赏
  • 举报
回复
快点,呆会我可能要休息了
不过你的这个问题我今天确实是做了这件事
我用DTS导入数据,而我的同伴对哪个表做了一个TRIGGER FOR INSERT,UPDATA
操作结果OK
crazycsu 2004-09-04
  • 打赏
  • 举报
回复
to:zonelive(peter)
谢谢你,我现在就试试。。。。。。。呆会有问题再向你请教。
zonelive 2004-09-04
  • 打赏
  • 举报
回复

我用过
我在表A上有一个TRIGGER(动作是把A表的数据更新到B表中)
我用DTS把外面的数据导入到A表后,B表的中数据也有了,上面的TRIGGER是个INSERT AND UPDATE TRIGGER,今天都用了
adevil23 2004-09-04
  • 打赏
  • 举报
回复
DTS 导入/导出向导
crazycsu 2004-09-04
  • 打赏
  • 举报
回复
在帮助的哪一项里面,我没能找到。。。。
crazycsu 2004-09-04
  • 打赏
  • 举报
回复
TO: adevil23(adevil)
只要你能为我解决这问题,我将再给你加50分。
adevil23 2004-09-04
  • 打赏
  • 举报
回复
在数据库的数据转换服务里面将dts包打开,建一个Sql任务,把update语句写入,然后建一个工作流,设定dts完成后执行Sql任务,保存包,结束。具体你还可以参见帮助,帮助写的挺全。
crazycsu 2004-09-04
  • 打赏
  • 举报
回复
TO: adevil23(adevil)老大
我真的是很菜,不知道怎么加,你告诉我怎么处理吧!我的DTS包是将服务器上的EXCEL文件导到数据库,我不知道在哪加这些语句呀!!
crazycsu 2004-09-04
  • 打赏
  • 举报
回复
问题已经解决。
得出结论:DTS在我的服务器上是不能触发INSERT,UPDATE触发器的。
crazycsu 2004-09-04
  • 打赏
  • 举报
回复
是的,表;Trouble_Record_Table 中增加了100条记录,但表:Statistics_Table 中还是空的,一条记录也没有,
crazycsu 2004-09-04
  • 打赏
  • 举报
回复
还是没能成功。。。。。。。很感谢你!
只要确定dts肯定能触发insert update触发器,那就好办了
zonelive 2004-09-04
  • 打赏
  • 举报
回复
没有啊,TRIGGER跟这个没关系,TRIGGER只判断表是否有INSERT或UPDATA这个动作,有就激活
还是不行吗
crazycsu 2004-09-04
  • 打赏
  • 举报
回复
请问zonelive(peter),你们的dts包有没有做什么特殊的设置?

zonelive 2004-09-04
  • 打赏
  • 举报
回复
怎么样
我要休息了
crazycsu 2004-09-04
  • 打赏
  • 举报
回复
好的!testing..........
zonelive 2004-09-04
  • 打赏
  • 举报
回复
错了
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'Auto_Process_Statistics')
drop TRIGGER Auto_Process_Statistics
GO

CREATE TRIGGER Auto_Process_Statistics
ON Trouble_Record_Table
for Insert,update
As
--Declare @Record_Date Datetime
--Select @Record_Date = First_Accept_Time FROM Inserted
IF NOT EXISTS (Select * FROM Statistics_Table b WHERE b.Record_Date in (select First_Accept_Time FROM Inserted ))
Begin
Insert Into Statistics_Table (Operation_Id,Office_Name,sum) Select Operation_Id=Operation_Type_Id,Office_Name=Office_Name,[sum]=count(*) From Trouble_Record_Table Group by Operation_Type_Id,Office_Name ORDER BY [sum] DESC
end
zonelive 2004-09-04
  • 打赏
  • 举报
回复
你试试:
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'Auto_Process_Statistics')
drop TRIGGER Auto_Process_Statistics
GO

CREATE TRIGGER Auto_Process_Statistics
ON Trouble_Record_Table
for Insert,update
As
--Declare @Record_Date Datetime
--Select @Record_Date = First_Accept_Time FROM Inserted
IF NOT EXISTS (Select * FROM Statistics_Table b WHERE b.Record_Date in (select First_Accept_Time FROM Inserted ))
Begin
Insert Into Statistics_Table (Operation_Id,Office_Name,sum) Select Operation_Id=Operation_Type_Id,Office_Name=Office_Name,[sum]=count(*) From Trouble_Record_Table Group by Operation_Type_Id,Office_Name ORDER BY [sun] DESC
end
crazycsu 2004-09-04
  • 打赏
  • 举报
回复
我现在怀疑是不是我的触发器中的条件语句写的不对。。。。。。。
加载更多回复(23)

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧