首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

oracle 存储过程类型对应有关问题

2013-03-26 
oracle 存储过程类型对应问题如题,我写了一个存储过程。但是在测试存储过程时总是告诉我ORA-01861:文字与格

oracle 存储过程类型对应问题
如题,我写了一个存储过程。但是在测试存储过程时总是告诉我
ORA-01861:文字与格式字符串不匹配
ORA-06512:在"SYSADMIN.PROC_STATINFO",LINE 10
ORA-06512:在line3
我的存储过程代码如下:
 (
 time1 in Date,
 crossingname in Varchar2,
 aspectname in Varchar2,
 wayname in Varchar2,
 crossingnum in Number
)
as
begin
 insert into sysadmin.tb_statinfo(ATIME,CROSSINGNAME,ASPECTNAME,WAYNAME,CROSSINGNUM,INTIME)
  values (to_date(time1,'yyyy-mm-dd hh24:mi:ss'),crossingname,aspectname,wayname,crossingnum,to_date(time1,'yyyy-mm-dd'));
  commit;
end;

很急,在线等。。。。。。

[解决办法]
我的异常网推荐解决方案:oracle存储过程,http://www.myexception.cn/oracle-develop/177537.html
[解决办法]

SQL code
----这个不对,只能到天,要时分秒必须使用timestampto_date(time1,'yyyy-mm-dd hh24:mi:ss')
[解决办法]
探讨
如题,我写了一个存储过程。但是在测试存储过程时总是告诉我
ORA-01861:文字与格式字符串不匹配
ORA-06512:在"SYSADMIN.PROC_STATINFO",LINE 10
ORA-06512:在line3
我的存储过程代码如下:
(
time1 in Date,
crossingname in Varchar2,
aspectname in Varc……

[解决办法]
有两个错误:
1.你过程的入参time1本身就是date类型的,在插入表的时候你又用了to_date()函数进行转换时错的。to_date()是字符串转换成日期型的。因此你to_date(time1,'yyyy-mm-dd hh24:mi:ss')可以直接是date1。
2.你在插入表的INTIME字段时,你也用了to_date格式转换,且格式为'yyyy-mm-dd',很显然,还是第一个原因,由于你date1已经是日期型的了,不能用to_date()
[解决办法]
你的time1已经是date类型了
就不能to_date,
insert into sysadmin.tb_statinfo(ATIME,CROSSINGNAME,ASPECTNAME,WAYNAME,CROSSINGNUM,INTIME)
values (time1,crossingname,aspectname,wayname,crossingnum,time1);


insert into sysadmin.tb_statinfo(ATIME,CROSSINGNAME,ASPECTNAME,WAYNAME,CROSSINGNUM,INTIME)
values (to_char(time1,'yyyy-mm-dd hh24:mi:ss'),crossingname,aspectname,wayname,crossingnum,to_char(time1,'yyyy-mm-dd'));
[解决办法]
探讨
如题,我写了一个存储过程。但是在测试存储过程时总是告诉我
ORA-01861:文字与格式字符串不匹配
ORA-06512:在"SYSADMIN.PROC_STATINFO",LINE 10
ORA-06512:在line3
我的存储过程代码如下:
(
time1 in Date,
crossingname in Varchar2,
aspectname in Varchar……

热点排行
Bad Request.