rad linux环境:
SQL> begin
2dbms_lock.sleep(5);
3end;
4/
PL/SQL procedure successfully completed.
SQL> create or replace trigger aa_tri01 before insert on aa_02 for each row
2begin
3DBMS_LOCK.sleep(10);
4end;
5/
Trigger created.
SQL> show error;
No errors.
SQL> insert into aa_02 values('a');
1 row created.
SQL>
ibm aix unix环境:SQL> begin
2dbms_lock.sleep(5);
3end;
4/
PL/SQL procedure successfully completed.
SQL> create or replace trigger aa_tri01 before insert on aa_02 for each row
2begin
3DBMS_LOCK.sleep(10);
4end;
5/
Warning: Trigger created with compilation errors.
SQL> show error;
Errors for TRIGGER aa_TRI01:
LINE/COL ERROR
-------- -----------------------------------------------------------------
2/1PL/SQL: Statement ignored
2/1PLS-00201: identifier 'DBMS_LOCK' must be declared
SQL>
[ 本帖最后由 赣南虾米 于 2008-12-31 15:01 编辑 ]
非常感谢,已解决,如下:不明白为什么直接执行可以,而在触发器不行
$sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on Wed Dec 31 14:55:19 2008
Copyright (c) 1982, 2005, Oracle.All rights reserved.
SQL> connect /as sysdba;
Connected.
SQL> GRANT EXECUTE ON DBMS_LOCK TO xxxx;
Grant succeeded.
SQL> exit
sqlplus xxx/xxx
SQL> create or replace trigger aa_tri01 before insert on aa_02 for each row
2begin
DBMS_LOCK.sleep(10);
end aa_tri01;34
5/
Trigger created.
SQL> insert into aa_02 values('a');
1 row created.
SQL> select * from aa_02;
A
----------
a
SQL> exit
[ 本帖最后由 赣南虾米 于 2008-12-31 15:02 编辑 ]