Oracle: LONG or CLOB?

Moeb picture Moeb · Aug 30, 2010 · Viewed 14.5k times · Source

From these two threads,

LONG is archaic and deprecated. Oracle says,

Do not create tables with LONG columns. Use LOB columns (CLOB, NCLOB) instead. LONG columns are supported only for backward compatibility.

Oracle also recommends that you convert existing LONG columns to LOB columns. LOB columns are subject to far fewer restrictions than LONG columns. Further, LOB functionality is enhanced in every release, whereas LONG functionality has been static for several releases.

But you cannot read a CLOB from a remote database without the workarounds mentioned here.

Which one should I prefer to store some text in my tables? Or is there a better solution than these two?

Answer

gpeche picture gpeche · Aug 30, 2010

Use CLOBs. One limitation of LONG is that LONGs can't be handled correctly from SQL - PL/SQL.

For a more detailed description of the differences, see http://www.comp.dit.ie/btierney/oracle11gdoc/appdev.111/b28393/adlob_tables.htm#insertedID2