JOB在ERROR中执行DDL语句出现ORA-06550错误如何解决

分类:编程技术 时间:2024-02-20 15:52 浏览:0 评论: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错误如何解决

用户评论