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

Home -> Community -> Usenet -> c.d.o.tools -> Re: How do I copy LONG columns between tables?

Re: How do I copy LONG columns between tables?

From: Stefan Larsson <d95stela+news_at_dtek.chalmers.se>
Date: 24 Nov 2000 15:39:47 GMT
Message-ID: <slrn91t2u2.cm9.d95stela+news@licia.dtek.chalmers.se>

Fri, 24 Nov 2000 14:28:57 GMT, offroadbiker_at_hotmail.com (Darren M.) ->
>Stefan,
>
>You can use varchar2 if the data in the long field will be less than 2000
>characters. (On Oracle 8, you can go to 4000 char.)

I wanted to use LONG as varchar2 without the limit on string length. I was kind of hoping that varchar2 and long would be equivalent except for performance... I was mistaken, it seems.

>I have also done something like this in the past to copy long columns
>between tables. I haven't written pl/sql for a while, so I've put comments
>where I forget the syntax:
>

... [pl/sql code]

PL/SQL will still not let me declare or use LONG variables and columns

I think
INSERT INTO [table2]

       SELECT ... FROM [table1]

is equivalent to your PL/SQL-code. Am I correct? Or are there differences between SQL inserts and PL/SQL inserts?

I rewrote the tables like
CREATE TABLE Elements(
  id_ INTEGER,
  pos_ INTEGER,
  elt_ VARCHAR2(2000)
)

and then I split the string into 2000 bytes chunks... a bit clumsy, I think. It would have been much cleaner to be able to use LONG columns.

/stefan Received on Fri Nov 24 2000 - 09:39:47 CST

Original text of this message

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