编写:procedure tjzf 如下:create or replace procedure tjzf is
begin
insert into test(zs) select count(*) from sfgl_zhlb;
commit;
end tjzf;编写:trigger zftj 主要调用上面的proceduce tjzf 然后将数据插入到表test中 如下:
create or replace trigger zftj
after insert on sfgl_zhlb
for each row
declare
-- local variables here
begin
tjzf;
end zftj;当在表sfgl_zhlb进行插入数据时,总是报错:ora-00900 错误,这个问题比较简单,不知哪儿错了,我是新手,请大家指点,谢谢!
begin
insert into test(zs) select count(*) from sfgl_zhlb;
commit;
end tjzf;编写:trigger zftj 主要调用上面的proceduce tjzf 然后将数据插入到表test中 如下:
create or replace trigger zftj
after insert on sfgl_zhlb
for each row
declare
-- local variables here
begin
tjzf;
end zftj;当在表sfgl_zhlb进行插入数据时,总是报错:ora-00900 错误,这个问题比较简单,不知哪儿错了,我是新手,请大家指点,谢谢!
解决方案 »
- 如何在MFC里使用oo4o
- 如何用oracle存储过程,分别获得表中字段(字段中带有逗号的多个值)
- 问个to_char to_date的问题~~
- 关于联合主键
- oracle 怎么查看 消耗内存最多的一条SQL。。。。。。。。。。。。。。。。。。。。。。。。。。。。
- PL/SQL写的存储过程的参数传递问题!
- 大数据量的提交!
- 求教一个关于查询的问题
- 关于 "select * from tbl1 for update nowait"------SOS!!!
- 数据库怎么交给用户亚?
- Win2000加入域中总出错,哪位好心人帮解决呀,100分请笑纳
- update的where语句后不带关联条件就会报错吗
after insert on sfgl_zhlb
for each row
declare
-- local variables here
begin
insert into test(zs) select count(*) from sfgl_zhlb;
end zftj;
9i据说就可以了。
dinya2003(OK) 说的如果要在触发器中调用过程,要用自治事务的吧,什么是自治事务?如果按照我最初的做法,应该如何修改,即用触发器调用过程的方法。
update test set zs=zs+1;
不就可以了嘛!
自治事务是在开始加上一句话就可以了,具体也忘记怎么写了,呵呵,看下帮助了!
要实现我说的功能,该如何实现?
回 lialin(阿林) 我的最终应用没有这么简单,只是把这个问题简单化了,
我想统计的数据还有很多项,既有insert也有update,所以不能简单地用update test set zs=zs+1;
再帮我想想办法?
谢谢各位,问题解决了再加分。