“orcal中的触发器用应用程序执行生成”,什么意思?
解决方案 »
- RMAN窗口输出和日志记录
- oracle10g中直接使用rollback结果
- Number of responses does not match queries
- 多个表的主码问题
- 执行一个语句耗时很长,为啥?
- oracle10g安装
- 按天分区的表,如何查询出一个月内指定条件的数据?(百分求教)
- 求助拼sql展现想要的结果集
- 在oracle中怎样生成sql语句?
- 如何写sql语句每次返回next 50条;
- 如何把字段A_ID的95001,95002,95003,95004....的前面加上1,变成195001,195002,195003,195004,195005....?(初学者)
- 老大帮忙看看jb连接oracle9i的问题?
所有的sql语句在pl/sql中执行都没问题,记录能正常插入。
但用安装程序执行sql语句的时候能生成触发器但触发器无效,所以记录也插入不进去。
ALTER TRIGGER trigger_name ENABLE
不知道具体是什么原因造成的?我怀疑是他们的安装程序中执行我是sql语句是时候发生了什么问题,还是他们不能像执行一个生成表的语句一样执行生成一个触发器的语句,反正具体的方法我也不知道到底是怎么回事。目前的现象就是:
所有的语句在我们的sql/plus中执行都是十分的正常,就是到他们的程序中执行的时候就是触发器创建成功之后,不能用,状态就是invalid。可是用他们的程序生成的表是正常的。就是我们在插入记录的时候,发现触发器是无效的。请各位大哥告知具体的原因。
我的顺序是这样的。
先建表,然后在建触发器,再插入记录。
在pl/sql命令行执行一点问题都没有。
而用安装程序安顺序执行slq命令生成表没问题,但生成的触发器现实无效。记录当然也插不进去了,我的插入语句会触发我的触发器,因为触发器无效,所以记录插不进去。
现在已经好几天了,问题一直没有解决。
create or replace trigger trig_01
INSTEAD OF insert on a[表]
begin
update b[表] set b.kkk[字段]=(select count(*) from a );
end; *
换成
create or replace trigger njjjhb_01
INSTEAD OF insert on a[表]
begin
update b[表] set b.kkk[字段]=(select count(*) from b );
end; *
便 ok ;借用 ========== ============
: beckhambobo(beckham) ( ) 信誉:151 说
这样吧,建对应视图,做一视图的触发器:
create view v_njjjhb as select * from njjjhb;create or replace trigger njjjhb_01
INSTEAD OF insert on v_njjjhb
begin
update njjjhb set
xmztz=xmztz+:new.xmztz
snljwc=snljwc+:new.snljwc
snjz=snjz+:new.snjz
snjzzj=snjzzj+:new.snjzzj
bnxz=bnxz+:new.bnxz
bnwc=bnwc+:new.bnwc
where pk=:new.parent;
end;
其它也相应修改,以后所有插入就对v_njjjhb进行