帮忙看下下面这条pl/sql的问题:我运行时老报错:
ORA-06550: line 10, column 16:
PLS-00382: expression is of wrong type
ORA-06550: line 10, column 2:
PL/SQL: Statement ignored
————————————————————————————
DECLARE
I_BEGIN_DATEDATE:='01-AUG-05';
I_END_DATEDATE:='10-AUG-05';
V_DATEDATE;
I NUMBER := 1;
BEGIN
V_DATE :=I_BEGIN_DATE;
DBMS_OUTPUT.PUT_LINE('V_DATE IS '||V_DATE);
--FOR V_DATE IN TO_CHAR('01-AUG-05','DD-MON-RR')..TO_CHAR('10-AUG-05','DD-MON-RR') LOOP
DECLARE
I_BEGIN_DATE DATE :=to_date('2005-08-01','yyyy-mm-dd');
I_END_DATE DATE :=to_date('2005-08-10','yyyy-mm-dd');
V_DATE DATE;
I NUMBER := 1;
BEGIN
V_DATE :=I_BEGIN_DATE;
DBMS_OUTPUT.PUT_LINE('V_DATE IS '||V_DATE);
while v_date<=i_end_date loop
--FOR V_DATE IN I_BEGIN_DATE .. I_END_DATE LOOP
DBMS_OUTPUT.PUT_LINE(V_DATE);
V_DATE :=V_DATE +1;
END LOOP;
END;
/
改成用while循环就可以了,你的错误:FOR V_DATE IN I_BEGIN_DATE .. I_END_DATE LOOP这里的IN后面类型不对,应该是两个整数
最初由 lwxxrq 发布
[B]DECLARE
I_BEGIN_DATE DATE :=to_date('2005-08-01','yyyy-mm-dd');
I_END_DATE DATE :=to_date('2005-08-10','yyyy-mm-dd');
V_DATE DATE;
I NUMBER := 1;
BEGIN
V_DATE :=I_BEGIN_DATE;
DBMS_OUTPUT.PUT_LINE('V_DATE IS '||V_DATE);
while v_date<=i_end_date loop
--FOR V_DATE IN I_BEGIN_DATE .. I_END_DATE LOOP
DBMS_OUTPUT.PUT_LINE(V_DATE);
V_DATE :=V_DATE +1;
END LOOP;
END;
/
改成用while循环就可以了,你的错误:FOR V_DATE IN I_BEGIN_DATE .. I_END_DATE LOOP这里的IN后面类型不对,应该是两个整数 [/B]
谢谢!FOR后面不能跟日期型范围吗??