LONG列不能出如今SQL語句的某些部分: 一、在WHERE、GROUP BY、ORDER BY、CONNECT BY子句以及在具備DISTINCT 操做的SELECT語句中。 二、SQL函數(如SUBSTR或INSTR) 三、表達式或條件。 四、包含有GROUP BY子句的查詢的選擇表。 五、在子查詢的選擇表或由集合操做組合查詢選擇表。 六、CREATE TABLE AS SELECT語句的選擇表。 使用說明: 一、LONG 數據類型中存儲的是可變長字符串,最大長度限制是2GB。 二、對於超出必定長度的文本,基本只能用LONG類型來存儲,數據字典中不少對象的定義就是用LONG來存儲的。 三、LONG類型主要用於不須要做字符串搜索的長串數據,若是要進行字符搜索就要用varchar2類型。 四、不少工具,包括SQL*Plus,處理LONG 數據類型都是很困難的。 五、LONG 數據類型的使用中,要受限於磁盤的大小。 可以操做 LONG 的 SQL 語句: 一、Select語句 二、Update語句中的SET語句 三、Insert語句中的VALUES語句 限制: 一、一個表中只能包含一個 LONG 類型的列。 二、不能索引LONG類型列。 三、不能將含有LONG類型列的表做聚簇。 四、不能在SQL*Plus中將LONG類型列的數值插入到另外一個表格中,如insert into …select。 五、不能在SQL*Plus中經過查詢其餘表的方式來建立LONG類型列,如create table as select。 六、不能對LONG類型列加約束條件(NULL、NOT NULL、DEFAULT除外),如:關鍵字列(PRIMARY KEY)不能是 LONG 數據類型。 七、LONG類型列不能用在Select的如下子句中:where、group by、order by,以及帶有distinct的select語句中。八、LONG類型列不能用於分佈查詢。 九、PL/SQL過程塊的變量不能定義爲LONG類型。 十、LONG類型列不能被SQL函數所改變,如:substr、instr。