oracle pl/sql数据库管理系统锁定错误
在OraclePL/SQL中,我想测试sleep函数。我正在使用hr模式。但它给了我一个错误:oracle pl/sql数据库管理系统锁定错误,oracle,plsql,Oracle,Plsql,在OraclePL/SQL中,我想测试sleep函数。我正在使用hr模式。但它给了我一个错误: PLS-00201: identifier 'DBMS_LOCK' must be declared 代码: 您应该将该包上的内容添加到您的架构中 grant execute on <object> to <user>; 如果您无法访问sys或dba不愿意这样做 GRANT EXECUTE on SYS.DBMS_LOCK to you; 您可以在数据库中创建Jav
PLS-00201: identifier 'DBMS_LOCK' must be declared
代码:
您应该将该包上的内容添加到您的架构中
grant execute on <object> to <user>;
如果您无法访问sys或dba不愿意这样做
GRANT EXECUTE on SYS.DBMS_LOCK to you;
您可以在数据库中创建Java过程:
CREATE OR REPLACE PROCEDURE SLEEPIMPL (P_MILLI_SECONDS IN NUMBER)
AS LANGUAGE JAVA NAME 'java.lang.Thread.sleep(long)';
并创建一个调用java存储过程的函数
CREATE OR REPLACE FUNCTION sleep (
seconds IN NUMBER
) RETURN NUMBER
AS
BEGIN
SLEEPIMPL( seconds );
RETURN seconds;
END;
一个月后
GRANT EXECUTE ON sleep TO public;
您可以通过选择按钮进行呼叫
select sleep(6000) from dual
以SYS用户身份连接。将SYS.DBMS_锁上的execute授予USERNAME;
GRANT EXECUTE ON sleep TO public;
select sleep(6000) from dual