哪位oracle数据库高手帮忙解决一下!谢谢

createorreplacetriggertrig_xjydbeforeinsertordeleteorupdateonzfxfzb.xjydbforeachrowbe... create or replace
trigger trig_xjyd
before insert or delete or update on zfxfzb.xjydb
for each row
begin
insert into sgy.xjydb_jt(ydxh,xh,xm,xb,ydhxzb,ydqxzb,ydsj) select ydxh,xh,xm,xb,ydhxzb,ydqxzb,ydsj from zfxfzb.xjydb where ydxh=920;
end;
在数据库中运行出现错误,提示表不存在!
展开
 我来答
匿名用户
2013-04-06
展开全部
编译出错? 还是触发器运行出错?

目测

被触发的表, 是 zfxfzb.xjydb
触发器里面要查询 zfxfzb.xjydb

要插入 sgy.xjydb_jt

你确定这些表都有么?

如果没记错的话, Oracle 的 for each row 触发器, 不允许在触发器里面, 检索自己这个被触发的表。
追问
我确定数据库中这几张表都有!怎样检索被触发的表?
追答
如果要 在触发器里面,   检索  被触发的表

对于 Oracle 来说, 需要把那行 for each row 删除掉。

这样一来, 触发器就是 语句级的触发器。

也就是 执行一条 SQL 语句, 就触发一次。
不管你这条语句, 插入了多少行数据。
在玄妙观慢跑的大雾
2013-04-06 · 超过10用户采纳过TA的回答
知道答主
回答量:33
采纳率:0%
帮助的人:28.2万
展开全部
是不是没有给这个表赋权限啊?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式