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