欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

oracle的long類型字段的應(yīng)用

系統(tǒng) 2525 0

1、LONG 數(shù)據(jù)類型中存儲(chǔ)的是可變長(zhǎng)字符串,最大長(zhǎng)度限制是2GB。

2、對(duì)于超出一定長(zhǎng)度的文本,基本只能用LONG類型來(lái)存儲(chǔ),數(shù)據(jù)字典中很多對(duì)象的定義就是用LONG來(lái)存儲(chǔ)的。

3、LONG類型主要用于不需要作字符串搜索的長(zhǎng)串?dāng)?shù)據(jù),如果要進(jìn)行字符搜索就要用varchar2類型。

4、很多工具,包括SQL*Plus, 處理 LONG 數(shù)據(jù)類型都是很困難的。

5、LONG 數(shù)據(jù)類型的使用中,要受限于磁盤的大小。

能夠 操作 LONG 的 SQL 語(yǔ)句:

1、Select語(yǔ)句

2、Update語(yǔ)句中的SET語(yǔ)句

3、Insert語(yǔ)句中的VALUES語(yǔ)句

限制:

1、一個(gè)表中只能包含一個(gè) LONG 類型的列。

2、不能索引LONG類型列。

3、不能將含有LONG類型列的表作聚簇。

4、不能在SQL*Plus中將LONG類型列的數(shù)值插入到另一個(gè)表格中,如insert into …select。

5、不能在SQL*Plus中通過(guò)查詢其他表的方式來(lái)創(chuàng)建LONG類型列,如create table as select。

6、不能對(duì)LONG類型列加約束條件(NULL、NOT NULL、DEFAULT除外),如:關(guān)鍵字列(PRIMARY KEY)不能是 LONG 數(shù)據(jù)類型。

7、LONG類型列不能用在Select的以下子句中:where、group by、order by,以及帶有distinct的select語(yǔ)句中。

8、LONG類型列不能用于分布查詢。

9、PL/SQL過(guò)程塊的變量不能定義為L(zhǎng)ONG類型。

10、LONG類型列不能被SQL函數(shù)所改變,如:substr、instr。

因?yàn)閘ong類型的數(shù)值不能用insert into … select的方法插入,故我們要分兩步走,先插入其它字段,最后再插入long類型字段,這可以通過(guò)過(guò)程來(lái)實(shí)現(xiàn).下面是一個(gè)我做實(shí)驗(yàn)實(shí)現(xiàn)的例子.

SQL>; create table testlong (id number,name varchar2(12),history long);

表已創(chuàng)建。

SQL>; create table testlong1 (id number,name varchar2(12),history long);

表已創(chuàng)建。

SQL>; insert into testlong values(1,’tslxg’,'work in tangshan’);

已創(chuàng)建 1 行。
SQL>; insert into testlong values(2,’imakee’,'work in beiing’);

已創(chuàng)建 1 行。

SQL>; select * from testlong;

ID NAME
———- ————————
HISTORY
——————————————————————————–

1 tslxg
work in tangshan

2 imakee
work in beijing

SQL>; insert into testlong1 select * from testlong;
insert into testlong1 select * from testlong
*
ERROR 位于第 1 行:
ORA-00997: 非法使用 LONG 數(shù)據(jù)類型

SQL>; Declare
2 CURSOR bcur
3 IS SELECT id,history from testlong;
4 brec bcur%ROWTYPE;
5 BEGIN
6 insert into testlong1(id,name) select id,name from testlong;–其它類型
先插入
7 OPEN bcur;
8 LOOP
9 FETCH bcur INTO brec;
10 EXIT WHEN bcur%NOTFOUND;
11 update testlong1 set history=brec.history where id=brec.id;
12 END LOOP;
13 CLOSE bcur;
14 END;
15 /

PL/SQL 過(guò)程已成功完成。

SQL>; select * from testlong1;

ID NAME
———- ————————
HISTORY
————————————————————————–

1 tslxg
work in tangshan

2 imakee
work in beijing

LONG列不能出現(xiàn)在SQL語(yǔ)句的某些部分:
1、在WHERE、GROUP BY、ORDER BY、CONNECT BY子句以及在具有DISTINCT 操作的SELECT語(yǔ)句中。
2、SQL函數(shù)(如SUBSTR或INSTR)
3、表達(dá)式或條件。
4、包含有GROUP BY子句的查詢的選擇表。
5、在子查詢的選擇表或由集合操作組合查詢選擇表。
6、CREATE TABLE AS SELECT語(yǔ)句的選擇表。

使用說(shuō)明:

1、LONG 數(shù)據(jù)類型中存儲(chǔ)的是可變長(zhǎng)字符串,最大長(zhǎng)度限制是2GB。
2、對(duì)于超出一定長(zhǎng)度的文本,基本只能用LONG類型來(lái)存儲(chǔ),數(shù)據(jù)字典中很多對(duì)象的定義就是用LONG來(lái)存儲(chǔ)的。
3、LONG類型主要用于不需要作字符串搜索的長(zhǎng)串?dāng)?shù)據(jù),如果要進(jìn)行字符搜索就要用varchar2類型。
4、很多工具,包括SQL*Plus,處理LONG 數(shù)據(jù)類型都是很困難的。
5、LONG 數(shù)據(jù)類型的使用中,要受限于磁盤的大小。

能夠操作 LONG 的 SQL 語(yǔ)句:

1、Select語(yǔ)句
2、Update語(yǔ)句中的SET語(yǔ)句
3、Insert語(yǔ)句中的VALUES語(yǔ)句

限制:

1、一個(gè)表中只能包含一個(gè) LONG 類型的列。
2、不能索引LONG類型列。
3、不能將含有LONG類型列的表作聚簇。
4、不能在SQL*Plus中將LONG類型列的數(shù)值插入到另一個(gè)表格中,如insert into …select。
5、不能在SQL*Plus中通過(guò)查詢其他表的方式來(lái)創(chuàng)建LONG類型列,如create table as select。
6、不能對(duì)LONG類型列加約束條件(NULL、NOT NULL、DEFAULT除外),如:關(guān)鍵字列(PRIMARY KEY)不能是 LONG 數(shù)據(jù)類型。
7、LONG類型列不能用在Select的以下子句中:where、group by、order by,以及帶有distinct的select語(yǔ)句中。8、LONG類型列不能用于分布查詢。
9、PL/SQL過(guò)程塊的變量不能定義為L(zhǎng)ONG類型。
10、LONG類型列不能被SQL函數(shù)所改變,如:substr、instr。

利用oracle long類型字段,插入大文本

在編寫(xiě)應(yīng)用時(shí),需要大量的插入大文本,但是oracle 的clob操作起來(lái)比較繁瑣,應(yīng)此我沒(méi)有選擇使用clob,而是使用了oracle以前版本中的long類型[但是long類型有一些限制,在一個(gè)表中只能有一個(gè)long字段]。

開(kāi)始的時(shí)候我直接使用insert into table1 values(a,b[long])的方式插入數(shù)據(jù)庫(kù),但是oracle有些限制一條語(yǔ)句不能超過(guò)4000個(gè)字符,并報(bào)ORA-01704的錯(cuò)誤。

經(jīng)過(guò)查找oracle 的文檔找到了解決的方法,就是對(duì)于long的字段使用setCharacterStream()方法將String插入數(shù)據(jù)庫(kù)。

代碼:
sql=”insert into msg_info values (?,?,?,?[long類型字段],’C',sysdate,sysdate+”+msgterm+”,?)”;
pstat1 = conn.prepareStatement(sql);
pstat1.setLong(1, msg_id);
pstat1.setInt(2, msg_gp_id);
pstat1.setString(3, msg_title);
pstat1.setCharacterStream(4,new StringReader(msg_info.toString()),msg_info.length());
conn.commit();
pstat1.setLong(5, this.upid);

oracle的long類型字段的應(yīng)用


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦?。?!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 性少妇videosexfreexx | 日韩专区中文字幕 | 精品久久一区二区 | 奇米第四色在线观看 | 亚洲综合欧美 | 国产精品视频网站 | 波多野结衣中文丝袜字幕 | 日本在线播放一区二区 | 婷婷精品国产一区二区三区日韩 | 波多野结衣mxgs1124在线 | 国产精品美女久久久久久免费 | 国产欧美一区二区三区精品 | 人人干人人插 | 91精品福利 | 伊人久久综合 | 看一天影院 理论片 | 国产精品资源在线观看网站 | 日韩在线观看中文字幕 | 国产a区 | 欧美成人伊人十综合色 | 日日日bbb| 99亚洲视频 | 天干夜天天夜天干天 | 成人在线| 午夜精品久久久久久久99蜜桃i | 91在线观 | 亚洲欧美日韩在线一区 | 国产午夜精品一区二区三区嫩草 | 亚洲高清国产品国语在线观看 | 草草草在线观看 | 91精品国产777在线观看 | 日日噜噜夜夜狠狠视频buoke | 亚洲欧美18v中文字幕高清 | 国产专区一区 | 精品久久久久久亚洲综合网 | 99re视频 | 成人网在线观看 | 偷拍小美女洗澡在线播放 | 日本不卡网站 | 青青草国产成人久久91网 | 欧美视频亚洲视频 |