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

Home -> Community -> Usenet -> c.d.o.misc -> Re: add a new range partition in a existing table

Re: add a new range partition in a existing table

From: sansar <uemit.uenlue_at_googlemail.com>
Date: Thu, 18 Oct 2007 00:21:34 -0700
Message-ID: <1192692094.621881.235270@i13g2000prf.googlegroups.com>


On 17 Okt., 17:31, DA Morgan <damor..._at_psoug.org> wrote:
> sansar wrote:
> > On 17 Okt., 16:25, Carlos <miotromailcar..._at_netscape.net> wrote:
> >> On 17 oct, 15:49, sansar <uemit.uen..._at_googlemail.com> wrote:
>
> >>> Hallo !
> >>> My PL/SQL -Script send me a Error-Message.
> >>> I don't know how i find the error.
> >>> i want add a new range partition in a existing table ?
> >>> eclare
> >>> v_date date;
> >>> v_part varchar2(20);
> >>> CURSOR context_date_cur IS
> >>> Select distinct ext_frontend.context_date
> >>> from ext_frontend;
> >>> begin
> >>> -- Test statements here
> >>> IF NOT context_date_cur%ISOPEN
> >>> THEN
> >>> OPEN context_date_cur;
> >>> END IF;
> >>> LOOP
> >>> FETCH context_date_cur into v_date;
> >>> exit when context_date_cur%NOTFOUND;
> >>> DBMS_OUTPUT.put_line(to_char(v_date));
> >>> v_part :='part_'||(to_char(v_date));
> >>> DBMS_OUTPUT.put_line(v_part);
> >>> execute immediate 'alter table LOG_ANALYSE.FRONTEND_TAB
> >>> add partition v_part
> >>> values less than 1+to_date(v_date, DD.MM.YYYY); ';
> >>> end loop;
> >>> CLOSE context_date_cur;
> >>> end;
> >> Whithout error message, a shoot in the dark but...
>
> >> Escape single ' characters for the date_format, perhaps?
>
> >> values less than 1+to_date(v_date, ''DD.MM.YYYY'') ';
>
> >> HTH
>
> >> Cheers.
>
> >> Carlos.
>
> > i have change the script, but i get this error message:
> > ORA-00906: missing left parenthesis
> > ORA-06512: at line 25
>
> > i execute the changing script:
>
> > -- Created on 17.10.2007 by B018469
> > declare
> > v_date varchar2(20);
> > v_part varchar2(20);
>
> > CURSOR context_date_cur IS
> > Select distinct ext_frontend.context_date
> > from ext_frontend;
>
> > begin
> > -- Test statements here
> > IF NOT context_date_cur%ISOPEN
> > THEN
> > OPEN context_date_cur;
> > END IF;
>
> > LOOP
>
> > FETCH context_date_cur into v_date;
> > exit when context_date_cur%NOTFOUND;
> > DBMS_OUTPUT.put_line(to_char(v_date));
> > v_part :='part_'||(to_char(v_date));
> > DBMS_OUTPUT.put_line(v_part);
> > execute immediate 'alter table LOG_ANALYSE.FRONTEND_TAB add
> > partition v_part values less than 1+to_date(v_date, "dd.mm.yyyy");';
> > end loop;
> > CLOSE context_date_cur;
>
> > end;
>
> If you want to be successful in Oracle you need to learn to read and
> pay attention ... you were asked for the version number. You didn't.
>
> Where in any Oracle doc did you ever see double quotes like this?
> "dd.mm.yyyy"
> And what about this requires PL/SQL or a CURSOR LOOP? Also please
> consider that were one needed your initial IF statement does nothing
> as the cursor can not possibly be open. This code is Oracle 7 ...
> and should not be written in any version more recent than 8.1.7.4.
>
> A basic course in PL/SQL programming would be very useful.
> --
> Daniel A. Morgan
> University of Washington
> damor..._at_x.washington.edu (replace x with u to respond)
> Puget Sound Oracle Users Groupwww.psoug.org

Oracle9i Enterprise Edition Release 9.2.0.8.0 - 64bit Production PL/SQL Release 9.2.0.8.0 - Production Received on Thu Oct 18 2007 - 02:21:34 CDT

Original text of this message

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