触发器谁都用到的吧?为什么没有人回答我的问题?

njer 2003-09-28 05:02:24
在SQL中
create trigger trig1 on dataSQL after insert as
....执行语句

在ACCESS中,有一数据库dataACCESS,并把dataSQL做了一个链接,
问题出来了:假设dataACCESS里有1万条记录
当我在ACCESS里直接
docmd.runsql "insert into dataSQL select * from dataACCESS"
时,
如果在SQL里没有trig1的话,数据导入完全正常,可是有trig1的话,我发现trig1竟然被触发了1万次,每次触发一条记录!inserted里只有一条记录。要等N个小时...OH MYGOD!
在SQL里测试:insert into dataSQL select * from dataSQL1的话,就没有问题,trig1只是在数据INSERT完毕后触发了一次,inserted里也有1万条记录。

为什么这样子啊?如何解决在ACCESS里insert的问题?让数据库只在insert完毕后只触发一次就行了。


如果SQL里的触发器,从别的数据库插入数据都是单行触发的话,还有什么意思???数据库里不是经常把数据导来导去的么?
...全文
73 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
njer 2003-10-05
  • 打赏
  • 举报
回复
谢谢朋友们,虽然还是没有解决。
试想一下,如果你有个SQL的数据库,是大型的那种,为了保证你的数据完整性,在数据插入、删除、更改的时候,肯定会做些触发器。
现在的问题是:你在SQL里做了触发器,但你需要从不同的数据库中导入数据(也许不是你在导入,
算了,不想写了,没人理我,懒得说了。。。

Stone444 2003-09-29
  • 打赏
  • 举报
回复
帮你顶
westbulls 2003-09-29
  • 打赏
  • 举报
回复
access中使用我不太会,但是我觉得是你的数据要做个前台缓冲,然后一次性用事务commit trans写入后台就可以了,可能你的access的表的缓冲设置有误!
cheny1234 2003-09-29
  • 打赏
  • 举报
回复
看看你的触发器
w_rose 2003-09-29
  • 打赏
  • 举报
回复
去Access版块问更好。
lxf31 2003-09-28
  • 打赏
  • 举报
回复
关闭递归触发器不行么?

34,874

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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