oracle資料庫表的Id為自動增長列在程式中怎樣寫sql語句

2025-01-04 23:40:18 字數 3864 閱讀 9971

1樓:網友

oracle中沒有自增列這個說法,只能先建乙個序列,然後利用序列自增。

sql語句:

create sequence name

increment by x //x為增長間隔start with x //x為初始值。

maxvalue x //x為最大值。

minvalue x //x為最小值。

cycle //迴圈使用,到達最大值或者最小值時,從新建立物件cache x //制定快取序列值的個數。

-乙個例子---

create sequence seq_test --序列名increment by 1 --每次增加1start with 1 --從1開始。

nomaxvalue --沒有最大值。

nocache --沒有快取序列。

-使用序列---

insert into table1

values(seq_

2樓:網友

先建立序列。

create sequence yousequencename;

在插入資料的時候,使用。nextval 函式,例:

insert into youtable (id,name,pwd) values(, 'youname','youpwd');

oracle sql developer建表的時候id欄位的自動遞增怎麼設定

3樓:惠企百科

oracle sql developer建表的時候id欄位的自動遞增的設定方法和步驟如下:

1、首先,開啟sql

server資料庫,建立乙個新表,然後在表中建立id欄位並選擇int型別,如下圖所示,然後進入下一步。

2、其次,完成上述步驟後,選擇id欄位,然後在下面的列屬性中找到標識規範,如下圖所示,然後進入下一步。

3、接著,完成上述步驟後,單擊標識規範,可以看到預設值為「否」,這表示不遞增,如下圖所示,然後進入下一步。

4、然後,完成上述步驟後,將標識規範調整為「是」,將「標識增量」設定為1,然後單擊儲存按鈕,如下圖所示,然後進入下一步。

5、最後,完成上述步驟後,新增資料時id將自動遞增,如下圖所示。這樣,問題就解決了。

oracle sql developer建表的時候id欄位的自動遞增怎麼設定

4樓:信必鑫服務平臺

1、開啟sql server資料庫,新建一張表,然後在表建id欄位,選擇int型別。

2、選中id欄位,在下面的列屬性中找到標識規範。

3、點選標識規範,可以看到預設為否,代表不遞增。

4、將標識規範調為是,增量設定為1,點選儲存按鈕,需要注意的是這種方法只在建立表的時候有用,如果已經建立表成功了,再來修改會出現錯誤,可以先刪除,再重新建立新增id欄位自增。

5、點選儲存之後,新增資料的時候,id會自動遞增了。

例項講解oracle資料庫自動增加id的sql

5樓:天羅網

本文的主要內容包括 在oracle中實現自增型id 刪除資料表中的重複記錄。

一 自增型id

首先建立 sequence

create sequence seqmax increment by

得到乙個id

select seqmax nextval id from dual

若要刪除乙個sequence

drop sequence seqmax;

二 刪除資料表中的重複記錄。

先建立乙個表。

id integer primary key not null

mobile nvarchar ( not null

假設其中手機號大量重複 要刪除重複記錄 可以腔搭豎有如下枝攜兩種方法。

簡單利用rowid刪除。

delete from apptest a where rowid not in (select max(rowid) from apptest b where a mobile=b mobile);

據說 這種方法在資料量很大時 效率並不高。

利用伍大分析函式。

select rid from

select rowid rid row_number() over(partition by mobile order by id desc) rn from apptest )

where rn >

lishixinzhi/article/program/oracle/201311/18187

oracle sql developer建表的時候id欄位的自動遞增怎麼設定

6樓:網友

oracle的自增需要依靠序列和觸發器共同實現。

比如先建立乙個表。

create table test

id int primary key,name varchar2(10));

建立乙個序列。

create sequence test_seq increment by 1 start with 1

minvalue 1 maxvalue 9999999999999 nocache

order;

觸發器實現。

create or replace trigger test_trigger

before insert on test

for each

rowbegin

select test_ from dual;

end;然後你試試吧。

insert into test (name) values ('張三');

oracle資料庫插入一id欄位,如何讓他從一開始遞增?

7樓:美美的藍妮兒

可以分為幾個步驟。

1、 為表新增欄位:

alter table 表名 add id int;

2、 將新增的id欄位賦值:

update 表名 set id=rownum;

commit;

注意事項:第二步驟中的commit不可以省略,否則會提交不成功。

演示:1、 建立表,並新增資料。

create table test

name varchar2(10));

insert into test values ('張三');

insert into test values ('李四');

insert into test values ('王五。

insert into test values ('趙六');

commit;

2、 新增id欄位:

alter table test add id int;

此時表結構發生變化,多了乙個id列:

3、 使id變成自增:

update test set id=rownum;

commit;

8樓:網友

這個可能要進行幾步操作。

第一步。alter table 表名 add id int;

然後。update 表名 set id=rownum;

commit;

再然後。select max(id) from 表名;--找出這個最大id

然後建立樓上說的sequence

不過起始值就是你剛才select 出來的這個最大id+1---補充---

補充一下,就是update 這句,因為你資料有200多w,可能至少也得十幾到幾十分鐘吧,取決於你資料庫的效能了,還有一點,加的id這列只能在這個表的最末尾的一列,有點不太美觀呀。

oracle資料庫,Oracle新建資料庫

樓主只要新建一個表空間,並把它分配給一個使用者就可以了。確定樓主是以管理員身份登入的 1.首先,建立 新 使用者 create user username identified by password username 新使用者名稱的使用者名稱 password 新使用者的密碼 也可以不建立新使用者...

在oracle資料庫中表空間和資料庫什麼區別

ms sql使用者登入就能建立資料庫的意思是她本身就有一個資料庫,你連的是預設資料庫。oracle安裝的時候也會問你是否在安裝資料庫軟體的時候建立一個例項,如果你同意建立例項那麼你連線進來的時候也會有個預設的資料庫給你去建立表之類的東西。所以根本上這些都是差不多,都是因為他們裡面有例項在執行了。再說...

在oracle資料庫中如果查詢資料庫中有哪幾張表

分兩種情況,一種是查詢當前使用者下的表,另一種是查詢當前資料庫下所有的表。查詢當前使用者的表 select table name from user tables 查詢當前資料庫下所有的表 select from user tables 查詢當前使用者的表 select from all table...