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 -> PL/SQL

PL/SQL

From: Buck Turgidson <jcmanNOSPAM_at_worldnet.att.net>
Date: 2000/03/06
Message-ID: <VpUw4.10073$vd7.525087@bgtnsc04-news.ops.worldnet.att.net>#1/1

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 Mon Mar 06 2000 - 00:00:00 CST

Original text of this message

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