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: Transferring LONG RAW from TAB1 to TAB2

Re: Transferring LONG RAW from TAB1 to TAB2

From: Yann Chevriaux <chevriaux_at_theleme.com>
Date: Mon, 20 Sep 1999 17:37:32 +0200
Message-ID: <37E654BC.57470EF9@theleme.com>


Many thanks: it works ... until 32K !

I've just learned that in PL/SQL, long variables can't execed 32K ! As the documents users want to store are often over 50K large, I must find another solution.

Yann.

michael_bialik_at_my-deja.com a écrit :

> In article <37E10FD1.F00D0715_at_theleme.com>,
> Yann Chevriaux <chevriaux_at_theleme.com> wrote:
> > I would to know how to copy a LONG RAW column from a table to another.
> >
> > The following based function failed with:
> > ORA-00997: illegal use of LONG datatype
> >
> > function ArchiveRawData(dataId in number)
> > return number
> > is
> > newArcId number;
> > begin
> > newArcId := NewId; -- NewId is a based function that return an UID
> >
> > insert into rawArchive (id, rawdata)
> > select newArcId, rawdata
> > from rawCurrent
> > where id = dataId;
> >
> > return newArcId;
> >
> > end;
> >
> > I thought it could be a PL/SQL limitation but even with a simple SQL
> > statement it fail as well.
> >
> > Configuration: NTServer; Oracle 7.3.2
> >
> > Please help !!!

>

> >
> >
>

> Use PL/SQL instead :
>

> function ArchiveRawData(dataId in number)
> return number
> is
> newArcId number;
> newData rawCurrent.rawdata%TYPE;
> begin
> newArcId := NewId; -- NewId is a based function that return an UID
>

> select rawdata into newData from rawCurrent
> where id = dataId;
>
> insert into rawArchive (id, rawdata) values(newArcId,newData);
>
> return newArcId;
>

> end;
>

> Good luck. Michael.
>

> Sent via Deja.com http://www.deja.com/
> Share what you know. Learn what you don't.
Received on Mon Sep 20 1999 - 10:37:32 CDT

Original text of this message

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