1. 程式人生 > >149 Oracle數據庫SQL開發之 大對象——理解LONG和LONG RAW類型

149 Oracle數據庫SQL開發之 大對象——理解LONG和LONG RAW類型

對象 inb rac con user his -s pac petty

149.Oracle數據庫SQL開發之 大對象——理解LONG和LONG RAW類型

歡迎轉載,轉載請標明出處:http://blog.csdn.net/notbaron/article/details/50185841

LOB現在是大塊數據的首選存儲類型。

但是可能還會遇到下列類型的數據庫:

l LONG用於存儲最多2GB的字符數據

l LONG RAW用於存儲最多2GB的二進制數據

l RAW用於存儲最多4KB的二進制數據。

1. 示例表

CREATE TABLE long_content (

id INTEGER PRIMARY KEY,

long_columnLONG NOT NULL

);

CREATE TABLE long_raw_content (

id INTEGER PRIMARY KEY,

long_raw_column LONG RAW NOT NULL

);

2. 添加數據

INSERT INTO long_content (

id,long_column

) VALUES (

1, ‘Creeps inthis petty pace‘

);

INSERT INTO long_content (

id,long_column

) VALUES (

2, ‘ from dayto day‘

);

INSERT INTO long_raw_content (

id,long_raw_column

) VALUES (

1,‘100111010101011111‘

);

INSERT INTO long_raw_content (

id,long_raw_column

) VALUES (

2,‘A0FFB71CF90DE‘

);

3. 將LONG和LONG RAW列轉換為LOB

使用TO_LOB函數,可以將LONG轉換為CLOB。

先創表如下:

CREATE TABLE clob_content (

id INTEGER PRIMARY KEY,

clob_columnCLOB NOT NULL

);

CREATE TABLE long_content (

id INTEGER PRIMARY KEY,

long_columnLONG NOT NULL

);

INSERT INTO long_content (

id,long_column

) VALUES (

1, ‘Creeps inthis petty pace‘

);

INSERT INTO long_content (

id,long_column

) VALUES (

2, ‘ from dayto day‘

);

然後執行如下:

collection_user@PDB1> insert into clob_content select10+id,to_lob(long_column) from long_content;

2 rows created.

CREATE TABLE long_raw_content (

id INTEGER PRIMARY KEY,

long_raw_column LONG RAW NOT NULL

);

INSERT INTO long_raw_content (

id,long_raw_column

) VALUES (

1,‘100111010101011111‘

);

INSERT INTO long_raw_content (

id,long_raw_column

) VALUES (

2,‘A0FFB71CF90DE‘

);

CREATE TABLE blob_content (

id INTEGER PRIMARY KEY,

blob_columnBLOB NOT NULL

);

然後執行如下:

collection_user@PDB1> insert into blob_contentselect 10+id,to_lob(long_raw_column) from long_raw_content;

2 rows created.

使用ALTER TABLE語句直接轉換LONG和LONG RAW列。

如下:

collection_user@PDB1> ALTER TABLE long_contentmodify (long_column CLOB);

Table altered.

collection_user@PDB1> alter table long_raw_contentmodify (long_raw_column blob);

Table altered.

將LONG和LONG RAW列轉換為LOB之後,可以使用PL/SQL方法來訪問LOB。

不應該修改目前被產品應用程序使用的表。

再分享一下我老師大神的人工智能教程吧。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智能的隊伍中來!https://www.cnblogs.com/captainbed

149 Oracle數據庫SQL開發之 大對象——理解LONG和LONG RAW類型