Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: PL/SQL

Re: PL/SQL

From: J <Vurley_at_263.net>
Date: 2000/03/07
Message-ID: <38c5469c.0@dnews.sbell.com.cn>#1/1

try followings

declare
v_year date := sysdate;
begin
for i in 1..10 loop
dbms_output.put_line(to_char(trunc(v_year,'YYYY'),'YYYY-MM-DD')); v_year := add_months(v_year, -12);
end loop;
end;
/

"Buck Turgidson" <jcmanNOSPAM_at_worldnet.att.net> wrote in message news:VpUw4.10073$vd7.525087_at_bgtnsc04-news.ops.worldnet.att.net...
> I am trying to write a PL/SQL to generate year-begin dates for the past 10
> years, based on sysdate. It is not working properly. I don't write a lot
> of PL/SQL. So any help would be appreciated
>
>
>
> DECLARE
> YEARS INTEGER := 10;
> PRIOR_YEAR DATE := SYSDATE;
> CURSOR PS_CURSOR IS
> SELECT
> TRUNC(TRUNC(TO_DATE(PRIOR_YEAR),'YEAR') - 1,'YEAR') AS "YR_BEGIN"
> FROM DUAL;
> PS_REC PS_CURSOR%ROWTYPE;
> BEGIN
> OPEN PS_CURSOR;
> LOOP
> FETCH PS_CURSOR INTO PS_REC;
> EXIT WHEN YEARS = 0;
> YEARS := YEARS - 1;
> PRIOR_YEAR := PS_REC.YR_BEGIN;
> DBMS_OUTPUT.put_line(PRIOR_YEAR);
> PRIOR_YEAR := PRIOR_YEAR - 1;
> END LOOP;
> CLOSE PS_CURSOR;
> END;
>
> 01-JAN-1999
> 01-JAN-1999
> 01-JAN-1999
> 01-JAN-1999
> 01-JAN-1999
> 01-JAN-1999
> 01-JAN-1999
> 01-JAN-1999
> 01-JAN-1999
> 01-JAN-1999
>
> PL/SQL procedure successfully completed.
>
>
>
>
Received on Tue Mar 07 2000 - 00:00:00 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US