create or replace procedure MISAPP_GJCK_RJ(WORKMON_IN_B IN NUMBER, ----起始日期
WORKMON_IN_E IN NUMBER, ----截止日期
hkd IN NUMBER, ----
eur IN NUMBER, ----
cad IN NUMBER ----) isv_day number;beginv_day := 'select to_date(WORKMON_IN_E,''yyyymmdd'')-to_date(WORKMON_IN_B,''yyyymmdd'')+1 from dual';
执行的时候,最后一行v_day:= 赋值这一行报错ORA=06502 PL/SQL:数字或值错误,字符转到数值的转换错误。v_day 我设的是number型,赋值那个语句得到的是字符型吗?
如果我改成
v_day :=to_number( 'select to_date(WORKMON_IN_E,''yyyymmdd'')-to_date(WORKMON_IN_B,''yyyymmdd'')+1 from dual');
也一样报错ORA=06502 PL/SQL:数字或值错误,字符转到数值的转换错误。请高手指教。
WORKMON_IN_E IN NUMBER, ----截止日期
hkd IN NUMBER, ----
eur IN NUMBER, ----
cad IN NUMBER ----) isv_day number;beginv_day := 'select to_date(WORKMON_IN_E,''yyyymmdd'')-to_date(WORKMON_IN_B,''yyyymmdd'')+1 from dual';
执行的时候,最后一行v_day:= 赋值这一行报错ORA=06502 PL/SQL:数字或值错误,字符转到数值的转换错误。v_day 我设的是number型,赋值那个语句得到的是字符型吗?
如果我改成
v_day :=to_number( 'select to_date(WORKMON_IN_E,''yyyymmdd'')-to_date(WORKMON_IN_B,''yyyymmdd'')+1 from dual');
也一样报错ORA=06502 PL/SQL:数字或值错误,字符转到数值的转换错误。请高手指教。
解决方案 »
- 新手求教 关于锁表的疑问...
- 急:为什么在当前用户下创建另一个用户正常,可是赋予权限的时候会报错:ORA=00990
- 关于Oracle9i在Windows Server 2008系统上的安装
- 请教ORACLE如何建立一个JOB
- 超难的行列转换问题wm_sys.wm_concat中排序的问题,目前只有几分,明日有了再加
- 如何在存储过程中实现RS锁防止由于并发导致的失败
- 请教一SQL语句
- 哪有下载《Oracle 9i PL/SQL从入门到精通》这本书的
- 请弱水三千兄弟关注
- oracleremexecservicev2服务无法启动
- 急!!同一台机器9i可用,10g坏了,现在要重装10g,怎么办?不能损坏9i
- 请教个关于sql优化的问题。order+表达式。
select to_date(WORKMON_IN_E,''yyyymmdd'')-to_date(WORKMON_IN_B,''yyyymmdd'')+1 into v_day from dual
WORKMON_IN_E IN NUMBER, ----截止日期
hkd IN NUMBER, ----
eur IN NUMBER, ----
cad IN NUMBER ----) isv_day number:=0;--在定义变量时,最好对其进行初始化
v_sql varchar2(400);
begin--v_day := 'select to_date(WORKMON_IN_E,''yyyymmdd'')-to_date(WORKMON_IN_B,''yyyymmdd'')+1 from dual';
v_sql := 'select to_date(:1,''yyyymmdd'')-to_date(:2,''yyyymmdd'')+1 from dual';--查询出来的值要保存到一个变量中
execute immediate v_sql into v_day using WORKMON_IN_E,WORKMON_IN_B;
dbms_output.put_line(v_day);
end MISAPP_GJCK_RJ;
/
那个sql不能执行。