JOB在ERROR中执行DDL语句出现ORA-06550错误如何解决
分类:编程技术
时间:2024-02-20 15:52
浏览:0
评论:0
本文主要讲解“ERROR中JOB中执行DDL语句时报错ORA-06550如何解决”。有兴趣的朋友不妨看一下。文章介绍的方法简单、快捷、实用。让小编带您学习《如何解决在ERROR中的JOB中执行DDL语句时出现ORA-06550错误》!
1.问题描述
需求是通过JOB语句定时执行DDL(purge recyclbin),清空回收站。简单的问题,由于不理解语法而报错:ORA-06550 & PLS-00103。让我们看看如何在JOB中执行DDL语句的正确语法。
2.测试
1.创建作业
BEGIN DBMS_SCHEDULER.CREATE_JOB ( job_name => '"TEST_USER"."PURGE_RECYCLBIN_TEST"', job_type => ' PLSQL_BLOCK', job_action => 'beginpurge recyclebin;end;', number_of_arguments => 0, start_date => NULL, Repeat_interval => 'FREQ=WEEKLY;BYDAY=SUN;BYHOUR=0;BYMINUTE=0;BYSECOND=0', end_date => NULL, enabled => FALSE, auto_drop => FALSE, comments => 'Every 每周清理回收站'); DBMS_SCHEDULER.SET_ATTRIBUTE( 名称 => '"TEST_USER"."PURGE_RECYCLBIN_TEST"', 属性 => 'logging_level', 值 =>DBMS_SCHEDULER.LOGGING_OFF); DBMS_SCHEDULER.enable( name => '"TEST_USER"."PURGE_RECYCLBIN_TEST"');END;/
2.执行 JOB 并报告错误
BEGIN DBMS_SCHEDULER .RUN_JOB (job_name => '"TEST_USER"."PURGE_RECYCLBIN_TEST"', USE_CURRENT_SESSION => FALSE);END;错误消息如下: ORA-06550:第 2 行,第 7 列:PLS-00103:在期望以下其中一项时遇到符号“RECYCLEBIN”: := 。 ( @ % ; result_cache中的符号“:=”替换为“RECYCLEBIN”继续。
3.修改为正确的执行方式,重点修改job_action内容
BEGINDBMS_SCHEDULER。 set_attribute( 名称 => '"TEST_USER"."PURGE_RECYCLBIN_TEST"', 属性 => 'job_action', 值 => 'beginexecute im调解 ''清除回收站'';end;');END;/
4.再次执行完成(未报告错误)
BEGIN DBMS_SCHEDULER.RUN_JOB(job_name => '"TEST_USER"."PURGE_RECYCLBIN_TEST"', USE_CURRENT_SESSION => FALSE);END;/
1. 本站所有资源来源于用户上传或网络,仅作为参考研究使用,如有侵权请邮件联系站长!
2. 本站积分货币获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
4. 编程技术 > JOB在ERROR中执行DDL语句出现ORA-06550错误如何解决
2. 本站积分货币获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
4. 编程技术 > JOB在ERROR中执行DDL语句出现ORA-06550错误如何解决