我的创建作业的代码如下
想在每天下午四点执行my_proc这个存储过程。DECLARE
X NUMBER;
BEGIN
SYS.DBMS_JOB.SUBMIT
( job => X
,what => 'my_proc;'
,next_date => sysdate
,interval => 'trunc(sysdate + 1) + 16 / 24'
,no_parse => TRUE
);
SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || to_char(x));
commit;
END;现在这个代码编译可以通过,但是运行的时候提示下面的错误消息:ORA-12011:无法执行1作业
ORA-06512:在"SYS.DBMS_IJOB",line406
ORA-06512:在"SYS.DBMS_JOB",line272
ORA-06512:在line1是什么原因阿,是创建作业的代码有问题么,希望各位高手指点
想在每天下午四点执行my_proc这个存储过程。DECLARE
X NUMBER;
BEGIN
SYS.DBMS_JOB.SUBMIT
( job => X
,what => 'my_proc;'
,next_date => sysdate
,interval => 'trunc(sysdate + 1) + 16 / 24'
,no_parse => TRUE
);
SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || to_char(x));
commit;
END;现在这个代码编译可以通过,但是运行的时候提示下面的错误消息:ORA-12011:无法执行1作业
ORA-06512:在"SYS.DBMS_IJOB",line406
ORA-06512:在"SYS.DBMS_JOB",line272
ORA-06512:在line1是什么原因阿,是创建作业的代码有问题么,希望各位高手指点
ORA-06512: "MICTEST.MY_PROC",line30
ORA-06512: line3CREATE OR REPLACE PROCEDURE my_proc IS
v_days INTEGER;
v_proday VARCHAR2(8);
v_sql VARCHAR2(100);BEGIN
SELECT PROC_DATE INTO v_proday FROM M_SYSTEMCOND;
SELECT WORK_TABLE_DEL_DAYS INTO v_days FROM M_SYSTEMCOND;
IF v_proday IS NULL OR v_days IS NULL THEN
--------
RETURN;
END IF;
FOR ROW IN
(
SELECT COND_CD, LAST_TIME_EXE_DATE FROM M_SAMPLECOND1
WHERE TO_DATE(LAST_TIME_EXE_DATE, 'yyyy-mm-dd') <= TO_DATE(v_proday, 'yyyy-mm-dd') + v_days
)
LOOP
v_sql := 'DROP TABLE T_FACTORDATA_' || ROW.COND_CD;
EXECUTE IMMEDIATE v_sql;
END LOOP;
EXCEPTION
WHEN NO_DATA_FOUND THEN
------
WHEN OTHERS THEN
-- Consider logging the error and then re-raise
RAISE;
END my_proc;
create table sstt*$- (id number)
*
第 1 行出现错误:
ORA-00922: 选项缺失或无效
SQL> create table "sstt*&%_" (id number);表已创建。SQL> drop table sstt*&%_;
drop table sstt*&%_
*
第 1 行出现错误:
ORA-00933: SQL 命令未正确结束
SQL> drop table "sstt*&%_";表已删除。
将表名用双引号引起来就可以删除了.