關於oracle中long類型的使用

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。
相關文章
相關標籤/搜索