欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
oracle里long類(lèi)型的總結
1、LONG 數據類(lèi)型中存儲的是可變長(cháng)字符串,最大長(cháng)度限制是2GB。

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

1、LONG 數據類(lèi)型中存儲的是可變長(cháng)字符串,最大長(cháng)度限制是2GB。

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

3、LONG類(lèi)型主要用于不需要作字符串搜索的長(cháng)串數據,如果要進(jìn)行字符搜索就要用varchar2類(lèi)型。

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

5、LONG 數據類(lèi)型的使用中,要受限于磁盤(pán)的大小。

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

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

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

限制:

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

2、不能索引LONG類(lèi)型列。

3、不能將含有LONG類(lèi)型列的表作聚簇。

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

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

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

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

8、LONG類(lèi)型列不能用于分布查詢(xún)。

9、PL/SQL過(guò)程塊的變量不能定義為L(cháng)ONG類(lèi)型。

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

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

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,‘dwh‘,‘work in foshan‘);

已創(chuàng )建 1 行。
SQL>; insert into testlong values(2,‘sfg‘,‘work in guangzhou‘);

已創(chuàng )建 1 行。


SQL>; select * from testlong;

ID NAME
---------- ------------------------
HISTORY
--------------------------------------------------------------------------------

1 dwh
work in foshan

2 sfg
work in guangzhou

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


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;--其它類(lèi)型
先插入
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 dwh
work in foshan

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

 

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

能夠操作 LONG 的 SQL 語(yǔ)句:
1、Select語(yǔ)句
2、Update語(yǔ)句中的SET語(yǔ)句
3、Insert語(yǔ)句中的VALUES語(yǔ)句

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

 

在編寫(xiě)應用時(shí),需要大量的插入大文本,但是oracle 的clob操作起來(lái)比較繁瑣,應此我沒(méi)有選擇使用clob,而是使用了oracle以前版本中的long類(lèi)型[但是long類(lèi)型有一些限制,在一個(gè)表中只能有一個(gè)long字段]。
開(kāi)始的時(shí)候我直接使用insert into table1 values(a,b[long])的方式插入數據庫,但是oracle有些限制一條語(yǔ)句不能超過(guò)4000個(gè)字符,并報ORA-01704的錯誤。
經(jīng)過(guò)查找oracle 的文檔找到了解決的方法,就是對于long的字段使用setCharacterStream()方法將String插入數據庫。

代碼:
sql="insert into msg_info values (?,?,?,?[long類(lèi)型字段],‘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);



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1346767

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Oracle批量執行SQL語(yǔ)句
Oracle數據庫的類(lèi)型LONG功能的介紹
LONG類(lèi)型遷移到LOB類(lèi)型(一)
數據庫觸發(fā)器應用
c#操作oracle的通用類(lèi)
MySql-Day-01
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久