1、創(chuàng)建測試表,
站在用戶的角度思考問題,與客戶深入溝通,找到隴西網(wǎng)站設(shè)計與隴西網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站設(shè)計、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名注冊、虛擬主機、企業(yè)郵箱。業(yè)務(wù)覆蓋隴西地區(qū)。
createtabletest_date(idnumber,valuedate);
2、插入測試數(shù)據(jù)
insertintotest_datevalues(1,sysdate);
insertintotest_datevalues(2,sysdate-100);
insertintotest_datevalues(3,sysdate-55);
commit;
3、查詢表中全量數(shù)據(jù),selectt.*,rowidfromtest_datet;
4、編寫sql,更新date類型的value字段值為:2010-12-14;
updatetest_datesetvalue=to_date('2010-12-14','yyyy-mm-dd')whereid=3;
commit;
5、再次查詢sql,可以發(fā)現(xiàn)id為3的value值已變化;selectt.*,rowidfromtest_datet;
update A
set id = id +100
where id = (一共有多少條記錄)
這樣好像就可以了
可以使用update select 語法進行更新
喜歡研究的可以自行學(xué)習(xí)下,以便積累
不想浪費時間可以看下面:
UPDATE A SET ID = (SELECT ROWNUM FROM A ORDER BY 時間 DESC)
參考語法:
UPDATE A SET (A1, A2, A3) = (SELECT B1, B2, B3 FROM B WHERE A.ID = B.ID)
WHERE ID IN (SELECT B.ID FROM B WHERE A.ID = B.ID)
主鍵表 - T表 '100W'數(shù)據(jù)同步到T1表(同步:TRUNCATE/DELETE或IMPDP...等方式[手動改數(shù)據(jù)])
例如: T表對應(yīng)SEQ_T.NEXTVAL= 100W;
T1表對應(yīng)SEQ_T.NEXTVAL= 10W;
TRUNCATE TABLE T1;
INSERT TABLE T1 SELECT * FROM T;
數(shù)據(jù)同步但T1表對應(yīng)SEQ_T.NEXTVAL= 10W序列不變;
此時T1調(diào)用序列INSERT到T1表時就會報錯 ( ORA-00001 : 違反唯一約束條件 (LOTTERY.PK_T1))
(若批量同步很多表就可能會引起很多表序列需要更新成主鍵最大值+ 1才能保證不報錯
(可以用把源庫的SEQUENCE同步過來①或者如下存儲解決② ))
兩個方法:
1,重新創(chuàng)建一個表,然后創(chuàng)建一個序列,把老數(shù)據(jù)導(dǎo)入新表,刪除老表,修改新表名字為老表
2,直接在原來表上增加一個字段,創(chuàng)建一個序列,通過更新的方式修改老數(shù)據(jù)的這個字段。
具體操作主要是2點,首先是創(chuàng)建一個序列名sequence;
然后是,insert語句的時候:將自增的字段的位置,寫成序列名.nextval。
從創(chuàng)建表開始,然后創(chuàng)建sequence,到insert語句
1.首先創(chuàng)建表
CREATE TABLE "FLOWCAL"."T_USERINFO"
( "C_ID" NUMBER(*,0),
"C_USER" VARCHAR2(20 BYTE),
"C_PASSWORD" VARCHAR2(20 BYTE),
"C_ROLE" VARCHAR2(20 BYTE),
"C_COMMENT1" VARCHAR2(20 BYTE),
"C_COMMENT2" VARCHAR2(20 BYTE)
)
現(xiàn)在想讓C_ID自增一。
2.首先創(chuàng)建一個oracle的sequence,sql語句如下:
create sequence 序列名
increment by 1
start with 1
maxvalue 999999999
cycle;
建立一個最小為1,最大為999999999的一個序列號會自動循環(huán)的序列
下面的sequence,如下:
CREATE SEQUENCE "FLOWCAL"."SEQ_USERINFO"
MINVALUE 0
MAXVALUE 9999999999999999999999999999
INCREMENT BY 1
START WITH 24
CACHE 20
ORDER
CYCLE ;
3.通過序列名.nextval實現(xiàn)插入時,字段的自增一
當向表中插入數(shù)據(jù)時,SQL語句寫法如下:
SQL insert into 表名 values(,列1值,列2值,....);
"序列名"可以替換為自己需要的名字.
下面insert語句:
insert into T_USERINFO values(SEQ_USERINFO.NEXTVAL,'111','11','11','11','11')
本文標題:oracle序列怎么更新 oracle逐條更新
新聞來源:http://chinadenli.net/article40/hgsdho.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗、電子商務(wù)、服務(wù)器托管、建站公司、全網(wǎng)營銷推廣、響應(yīng)式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)