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?
The LONG datatype stores variable-length character strings containing up to two gigabytes, but with many restrictions. This datatype is provided for backward compatibility with existing applications; in general, new applications should use CLOB and NCLOB datatypes to store large amounts of character data.
The four large object data types BFILE, BLOB, CLOB, and NCLOB all store up to 4 GB of data.
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
If Oracle says a feature is deprecated it may not be available any longer in a future release. So unless your application will run on the current Oracle version for an unlimited amount of time, don't use deprecated functionality.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With