在存储过程里用dbms_lock.sleep(10)编译时提示Error: PLS-00201: 必须说明标识符 'DBMS_LOCK'

frogshero 2005-01-26 02:22:12
在语句块里又可以执行,怎么回事?
...全文
5101 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
frogshero 2005-01-26
  • 打赏
  • 举报
回复
楼上高手,谢谢
zmgowin 2005-01-26
  • 打赏
  • 举报
回复 2
15:25:49 SQL> conn bktest/...@bi as sysdba
已连接。
15:25:56 SQL> revoke execute on dbms_lock from bktest;

撤销成功。

已用时间: 00: 00: 00.16
15:26:11 SQL> conn bktest/aaa111@bi
已连接。
15:26:17 SQL> create or replace procedure tes
15:26:21 2 as
15:26:21 3 begin
15:26:21 4 dbms_lock.sleep(5);
15:26:21 5 end;
15:26:21 6 /

警告: 创建的过程带有编译错误。

已用时间: 00: 00: 00.32
15:26:22 SQL> show err
PROCEDURE TES 出现错误:
4/3 PLS-00201: 必须说明标识符 'SYS.DBMS_LOCK'
4/3 PL/SQL: Statement ignored
15:26:24 SQL> conn bktest/aaa111@bi as sysdba
已连接。
15:26:32 SQL> grant execute on dbms_lock to bktest;

授权成功。

已用时间: 00: 00: 00.15
15:26:39 SQL> conn bktest/...@bi
已连接。
15:26:45 SQL> create or replace procedure tes
15:26:48 2 as
15:26:48 3 begin
15:26:48 4 dbms_lock.sleep(5);
15:26:48 5 end;
15:26:48 6 /

过程已创建。

已用时间: 00: 00: 00.31
15:26:49 SQL> exec tes;

PL/SQL 过程已成功完成。

已用时间: 00: 00: 05.25
frogshero 2005-01-26
  • 打赏
  • 举报
回复
UPUP
yown 2005-01-26
  • 打赏
  • 举报
回复

exec dbms_lock.sleep(10)

frogshero 2005-01-26
  • 打赏
  • 举报
回复
应该不是吧;
在语句块里如:
begin
DBMS_LOCK.sleep(10);
end;
又可以运行
baojianjun 2005-01-26
  • 打赏
  • 举报
回复
是否和dbms_output包一樣要先設置可用狀態?:
..........................................
dbms_output.enable;
dbms_output.put_line('vvv');
.............................

17,382

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧