Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.misc -> Re: pl/sql help.....again
What data type is MILE_LOG.MIL_ALLOWANCE%TYPE? It looks like you are trying
to do floating point arithmetic with integer types: For example, you
declare v_refund as number(6), but you should probably have said number(6,2)
or number(8,2). As it is you will not have fractions of whole numbers in
v_refund.
"clint" <c_macnichol_at_hotmail.com> wrote in message
news:HUfia.11803$Jf.1153190_at_ursa-nb00s0.nbnet.nb.ca...
> hello,
>
> I have created a series of tables.......as part of that I am trying to
> create a pl/sql script...that will take some information from one
> table....manipulate it and insert it into another table....
>
> The calculation always equals zero...what am i doing wrong?
>
> here is my pl/sql script...
>
> DECLARE
> CURSOR c_MILEAGE_CAL IS
> SELECT EMPLO_ID, NUM_MILES, MIL_ALLOWANCE, ENTRY_DATE, DESCR
> FROM MILE_LOG;
> V_EMPLOID MILE_LOG.EMPLO_ID%TYPE :=20029;
> V_NUM_MILES MILE_LOG.NUM_MILES%TYPE;
> V_CENTSPERMILE MILE_LOG.MIL_ALLOWANCE%TYPE;
> V_DATE DATE;
> V_DESCR MILE_LOG.DESCR%TYPE;
> V_REFUND NUMBER(6);
> BEGIN
> OPEN c_MILEAGE_CAL;
> FETCH c_MILEAGE_CAL INTO
> V_EMPLOID, V_NUM_MILES, V_CENTSPERMILE, V_DATE, V_DESCR;
>
> /* I just want to calculate this simple equation*/
> V_REFUND := V_NUM_MILES * V_CENTSPERMILE;
>
> INSERT INTO EXPENSE_LOG
> VALUES(EXPLOG_COUNT_SEQ.NEXTVAL,V_EMPLOID,V_EMPLOID ,V_REFUND,V_DATE,
> V_DESCR, V_NUM_MILES );
> CLOSE c_MILEAGE_CAL;
> COMMIT;
> END;
>
>
>
Received on Tue Apr 01 2003 - 10:43:53 CST
![]() |
![]() |