急求删除JOBS和存储过程的完整SQL语句

xsbear 2006-10-26 10:25:31
删存储过程用简单的DROP PROCEDURE是可以的,但是要在删之前加是否存在该存储过程的判断,写了一下始终无法通过编译(在TOAD中)。
还有更要命的是删JOBS,完全不知怎么写,在网上搜了一下,用个DBMS_JOB.REMOVE(jobno)
的方法,好像行不通(是我不知道正确的写法),而且对jobno这个变量始终搞不懂,我的SQL是要放在其他服务器上执行的,这个jobno应该不能固定的啊
以前MSSQL的SQL还比较熟,对ORCALE的SQL语句不是很清楚,望有高手能给个指点,最好有完整的SQL语句,在TOAD中能编译通过更好。
...全文
给本帖投票
383 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xsbear 2006-10-27
  • 打赏
  • 举报
回复
谢了!
zcs_1 2006-10-27
  • 打赏
  • 举报
回复
1、判断存储过程是否存在可以利用数据字典user_objects,比如想判断是否存在名称为'MYPROC'的PROCEDURE是否存在,可以用这个语句:
SELECT COUNT(*)
FROM user_objects
WHERE object_type='PROCEDURE'
AND object_name='MYPROC';
如果返回结果为1,则说明有此存储过程存在,否则不存在

2、删除job,首先判断job的唯一标示号,就是user_jobs的job字段,执行

select job,what from user_jobs;
根据what的内容确定其对应的job,并如此执行删除,
比如对应的job为14,删除的方法:

SQL> begin
SQL> dbms_job.remove(14);
SQL> commit;
SQL> end;
SQL> /

17,382

社区成员

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

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

手机看
关注公众号

关注公众号

客服 返回
顶部