1,在触发器调用的存储过程中能否动态创建表。
2,我在一个表pp_data的insert after上建了触发器以向历史表中备份数据,如果当前历史表不存在,则动态创建,如pp_data200408,在向里面插入数据,大约1分钟500条记录。
是插入速度太快,建表来不急的原因吗?
2,我在一个表pp_data的insert after上建了触发器以向历史表中备份数据,如果当前历史表不存在,则动态创建,如pp_data200408,在向里面插入数据,大约1分钟500条记录。
是插入速度太快,建表来不急的原因吗?
解决方案 »
- oracle客户端连接服务器正常,查询超时
- 备份问题 高手进
- Oracle数据库中怎么插入Date格式的数据
- 急!存储过程中如何写更新其他用户表中的数据 .没有人回,闷!闷!闷!闷!闷!......
- 用wrap加密过形成的 .plb 文件怎么样解密 让它变为可见的。
- oracle用什莫工具看数据库有哪些表,某个表有哪些数据
- 各位大哥请留步 帮小弟看看这个超简单的问题!
- 请帮我优化以下两个函数。
- 我在两台机器上安装了Oracle8.1.7,均是企业版,如何实现两台机器数据库的对连?能否请高手列出详细步骤?
- oracle大神请进
- 请问各位,在DELPHI中倒入其它数据库的数据到Rracle 9i中,用一条SQL如何写?
- 谁有灾难恢复相关资料?500分悬赏。
你应当在触发器中加上例外处理,把错误信息保存下来(sqlcode,sqlerrm)
看看到底是什么错误
PRAGMA AUTONOMOUS_TRANSACTION;
就可以了。注意这时是自治事务。
...
FUNCTION balance (acct_id INTEGER) RETURN REAL;
END banking;CREATE PACKAGE BODY banking AS
...
FUNCTION balance (acct_id INTEGER) RETURN REAL IS
PRAGMA AUTONOMOUS_TRANSACTION;
my_bal REAL;
BEGIN
...
END;
END banking;In the example below, you a database trigger as autonomous. Unlike regular triggers, autonomous triggers can contain transaction control statements. CREATE TRIGGER parts_trigger
BEFORE INSERT ON parts FOR EACH ROW
DECLARE
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
INSERT INTO parts_log VALUES(:new.pnum, :new.pname);
COMMIT; -- allowed only in autonomous triggers
END;