The use of LONG values is subject to some restrictions:A table can contain only one LONG column. 
You cannot create an object type with a LONG attribute. 
LONG columns cannot appear in WHERE clauses or in integrity constraints (except that they can appear in NULL and NOT NULL constraints). 
LONG columns cannot be indexed. 
A stored function cannot return a LONG value. 
You can declare a variable or argument of a PL/SQL program unit using the LONG datatype. However, you cannot then call the program unit from SQL. 
Within a single SQL statement, all LONG columns, updated tables, and locked tables must be located on the same database. 
LONG and LONG RAW columns cannot be used in distributed SQL statements and cannot be replicated. 
If a table has both LONG and LOB columns, you cannot bind more than 4000 bytes of data to both the LONG and LOB columns in the same SQL statement. However, you can bind more than 4000 bytes of data to either the LONG or the LOB column. 
A table with LONG columns cannot be stored in a tablespace with automatic segment-space management. 
LONG columns cannot appear in certain parts of SQL statements:GROUP BY clauses, ORDER BY clauses, or CONNECT BY clauses or with the DISTINCT operator in SELECT statements 
The UNIQUE operator of a SELECT statement 
The column list of a CREATE CLUSTER statement 
The CLUSTER clause of a CREATE MATERIALIZED VIEW statement 
SQL built-in functions, expressions, or conditions 
SELECT lists of queries containing GROUP BY clauses 
SELECT lists of subqueries or queries combined by the UNION, INTERSECT, or MINUS set operators 
SELECT lists of CREATE TABLE ... AS SELECT statements 
ALTER TABLE ... MOVE statements 
SELECT lists in subqueries in INSERT statements