dbms_scheduler报错ORA-01438:?求助,求助。。。

-无-为- 2013-03-22 01:19:15
存储过程

CREATE OR REPLACE PROCEDURE PRO_TEST(V_PNAME varchar2,
V_CHANNEL number) AUTHID CURRENT_USER IS
ERR1 T_ROVER_ALERT.MSG%type;
TOM_IP T_ROVER_ALERT.Alertname%type;
TOM_SQLCODE T_ROVER_ALERT.ALERTKEY%type;
PRONAME T_PRO_PARAMETER.PRO_NAME%TYPE;
begin
SELECT SYS_CONTEXT('USERENV', 'IP_ADDRESS') INTO TOM_IP FROM DUAL;

INSERT INTO T_ROVER_ALERT
(ID,
ALERTNAME,
ALERTKEY,
ALERTDATE,
DATETIME,
FLAG,
MSG,
ALARTERR,
ALERTLEVEL)
VALUES
(SEQ_ROVER_ALERT.NEXTVAL,
'PRO_TEST',
TOM_IP,
v_pname,
SYSDATE,
0,
'999',
'999',
v_channel);
COMMIT;
dbms_lock.sleep(20);
end;


使用的代码块

begin
dbms_scheduler.drop_job('job_PRO_TEST');
DBMS_SCHEDULER.CREATE_JOB(
job_name => 'job_PRO_TEST',
job_type => 'STORED_PROCEDURE',
job_action => 'PRO_TEST',
number_of_arguments => 2,
start_date => sysdate,
end_date => NULL,
repeat_interval => 'trunc(sysdate)+13/24+5/24/60',
enabled => FALSE);
DBMS_SCHEDULER.SET_JOB_ARGUMENT_VALUE(job_name => 'job_PRO_TEST',argument_position => 1,argument_value => '10');
DBMS_SCHEDULER.SET_JOB_ARGUMENT_VALUE(job_name => 'job_PRO_TEST',argument_position => 2,argument_value =>99);
DBMS_SCHEDULER.ENABLE('job_PRO_TEST');
DBMS_SCHEDULER.RUN_JOB('job_PRO_TEST');
end;
/

SQL>
SQL>
SQL> begin
2 dbms_scheduler.drop_job('job_PRO_TEST');
3 DBMS_SCHEDULER.CREATE_JOB(
4 job_name => 'job_PRO_TEST',
5 job_type => 'STORED_PROCEDURE',
6 job_action => 'PRO_TEST',
7 number_of_arguments => 2,
8 start_date => sysdate,
9 end_date => NULL,
10 repeat_interval => 'trunc(sysdate)+13/24+5/24/60',
11 enabled => FALSE);
12 DBMS_SCHEDULER.SET_JOB_ARGUMENT_VALUE(job_name => 'job_PRO_TEST',argument_position => 1,argument_value => '10');
13 DBMS_SCHEDULER.SET_JOB_ARGUMENT_VALUE(job_name => 'job_PRO_TEST',argument_position => 2,argument_value =>99);
14 DBMS_SCHEDULER.ENABLE('job_PRO_TEST');
15 DBMS_SCHEDULER.RUN_JOB('job_PRO_TEST');
16 end;
17 /
begin
*
ERROR at line 1:
ORA-01438: value larger than specified precision allowed for this column
ORA-06512: at "SYS.DBMS_ISCHED", line 150
ORA-06512: at "SYS.DBMS_SCHEDULER", line 441
ORA-06512: at line 15


SQL>

...全文
132 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
-无-为- 2013-03-22
  • 打赏
  • 举报
回复
表中字段的长度完全够的 SQL> desc T_ROVER_ALERT; Name Null? Type ----------------------------------------- -------- ---------------------------- ALERTNAME VARCHAR2(50) ALERTKEY VARCHAR2(50) ALERTDATE VARCHAR2(50) DATETIME NOT NULL DATE FLAG NUMBER MSG VARCHAR2(140) ALARTERR VARCHAR2(250) ALERTLEVEL NUMBER(1) ID NOT NULL NUMBER(38) SQL>

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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