SQL2000 两个表之间的操作与触发器

有两个表A,B,表A里有两个字段(number,name),表B有两个字段(number,data),数据库的情况是表B中每隔段时间由外部导入新的数据(不覆盖原数据),B... 有两个表A,B,表A里有两个字段(number,name),表B有两个字段(number,data),数据库的情况是表B中每隔段时间由外部导入新的数据(不覆盖原数据),B.data的值在6.85~7.01之间,我想实现:
if B.data>7.01
A.name='en'+A.name
where A.number=B.number
而且,由于B表数据一直在增加,所以我想B表每增加一行就立刻检查新加的行B.data的大小(之前的记录就不再检查了)并按要求修改A表的内容。请问如何在B表中用触发器实现这个功能呢
FIRE_TRIGGERS子句 放在哪里执行呢

还有,子句的问题先不说,其他代码检查后提示:”列前缀inserted与查询所用的表名或别名不匹配”.我是从COM口采集的数据经解调器进数据库的,所以能不能改进一下,使得对所有新增记录进行按要求检查呢 悬赏+30
展开
 我来答
alex_hy
2010-12-06 · TA获得超过1.3万个赞
知道大有可为答主
回答量:2601
采纳率:100%
帮助的人:956万
展开全部
--------------已修改脚本,请参考
create trigger trg_b_insert on b
after insert
as
begin
update A.name='en'+A.name
where A.number=inserted.number
and inserted.data>7.01
end

----------------------------需要注意如果b是用bulk insert等方式批量导入数据时,别忘了加上FIRE_TRIGGERS子句启动触发器

---------------------------------------
bulk insert b
from 'c:\b.csv'
with
(
FIELDTERMINATOR=',',
ROWTERMINATOR='\n',
FIRE_TRIGGERS
)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式