SQL Server的資料表中,
有一種類似自動編號的欄位,
那個欄位是自動增長的,一般進行Insert語法的時候是不用特別對該欄位做指定值的輸入
所以通常有人就喜歡拿來當主鍵(例如我)
但是既然是自動編號,
有時候一定有Insert完之後又必須新增的資料取出,
然後又對該列資料做Update的動作。
此時該怎麼辦呢?
答案只要在同一個交易中,撰寫以下SQL語法
select @@identity |
自然就會取得剛剛新增資料的自動編號了。
========================Oracle的分隔線========================
Oracle的這種自動編號原理比較不一樣
是採建立SEQUENCE來自動跳號的處理
如果今天建立的SEQUENCE如下(由1開始,每次自動增長1,最小為1,最大為10000000,)
CREATE SEQUENCE MySEQUENCE MINVALUE 1 MAXVALUE 10000000 START WITH 1 INCREMENT BY 1 NOCACHE |
此時應該是先下以下語法取得新的自動編號,指定到變數NewSeqno
select MySEQUENCE.nextval from dual; |
再將NewSeqno寫入你想寫入的資料表,這樣就不用怕不知道寫入資料庫的自動編號是什麼
INSERT INTO MyTable(MySEQUENCE, MyNAME) VALUES(NewSeqno, 'Chirs'); |
亦可以在新增完成後後,透過以下語法取得目前用號。
SELECT MySEQUENCE.CURRVAL FROM DUAL; |
Access.....我就不會了
等好心人士告知吧
全站熱搜