1樓:
建議您查詢一下「oracle序列」
先建序列
再用序列建表
2樓:匿名使用者
oracle沒有自動增長列,一般是用序列配合使用,可以給某個表建立一個序列,插入要自動增長列的值時可以取序列的下一個值就行了,建議看一下序列
以你的表為例
你表sectable建立一個序列,暫取名叫sequence_sectable
create sequence sequence_sectable start with 1 increment by 1 order
取序列的下一個值
select sequence_sectable.nextval value from dual
這樣你就可以insert到你的表裡了,要手動進行插入,不知道能不能幫到你!
3樓:匿名使用者
create table a (int id identity(1,1))就可以了,它們分別是初值和自增值!
oracle怎麼實現id自增和設定主鍵啊
4樓:十一月甜
可以使用序列實現id自增,主鍵的語法為primary key。
當一個序列第一次被查詢呼叫時,它將返回一個預定值。在隨後的每次查詢中,序列將產生一個按指定的增量增長的值。序列可以迴圈,或者是連續增加的,直到指定的最大值為止。
建立序列語法如下:create sequence [模式]序列名稱[start with 起始數字] [increment by 增量][maxvalue 最大值|nomaxvalue][minvalue 最小值|nominva lue][cycle|nocuyle][cache 數目|nocache][order|noorder]。
具體**示例如下:
建立表create table book(
bookid varchar2(4) primary key,
name varchar2(20)
建立序列
create sequence book_seq start with 1 increment by 1;
建立觸發器
create or replace trigger book_trigger
before insert on book
for each row
begin
select book_seq.nextval into :new.bookid from dual;
end ;
新增資料
insert into book(name) values ('cc');
insert into book(name) values ('dd');
commit;
5樓:匿名使用者
呵呵,這個問題,是從其他資料庫轉過來的開發者最常見的問題。
1、關於主鍵:在建表時指定primary key字句即可:
create table test(
id number(6) primary key,
name varchar2(30)
);如果是對於已經建好的表,想增加主鍵約束,則類似語法:
alter table test add constraint pk_id primary key(id);
其中add constraint 和 primary key是關鍵字,pk_id是主鍵名稱,自定義的額,只要不重複即可。
2、關於id自增功能,也很簡單,而且比較靈活。
(1)首先建立一個序列(就是每次查詢會自動增加值的絕不重複的物件,比如每次加1或每次加10)。語法:
create sequence 序列名
[increment by n] --每次加幾
[start with n] --序列從幾開始
--最小值、最大值的限制
比如create sequence s_test start with 1 increment by 1; --就是建立了額一個從1開始每次加1的序列。
訪問序列時,用 序列名稱.nextval的語法。
比如對於上表,如果想要id欄位實現自增。則在每次插入記錄時,使用下面類似的語法(前提是表和序列已經建好)。
insert into test values (s_test.nextval,'張三');
當然,你也可以自動一些,對錶的插入操作,建立一個觸發器,每當有資料插入時,觸發器自動修改id值為序列的新值,這樣就完全實現自增id功能了。不過其實也沒有這個必要。因為觸發器如果建多了,有時會比較混亂,不易管理。
辛苦手碼了這麼多字,如果能幫到你,請及時採納最佳。
在oracle怎樣用將主鍵id設定為自動增加
6樓:
建立一個sequence,然後在王表中插入時,主鍵就用這個建立的sequence,用sequence_name.nextval.
具體可參考一下**:
oracle建表id自動增長
7樓:紅草
可以使用oracle的sequence實現自增長。
oracle建表語句,id是自動增長,要完整的建表語句 5
8樓:匿名使用者
oracle的id自動增長一般是通過序列實現的,跟建表的語句沒有關係的!
9樓:匿名使用者
create sequence add_empincrement by 1 -- 每次遞增1start with 1 -- 從1開始nomaxvalue -- 沒有最大值minvalue 1 -- 最小值=1nocycle; -- 不迴圈
10樓:匿名使用者
一樓的回答很正確,oracle沒有所謂的自增長,你可以用tigger或序列來實列,或者可以用uuid,
oracle中id的自增怎麼設定
oracle建立表怎麼讓id自動生成
11樓:匿名使用者
oracle資料表沒有自動增長列的功能,但可以在插入資料的時候通過序列sequence實現id自動增長。
oracle中建立臨時表和建立普通表的區別
臨時表是隻有建立的使用者才可以使用的,使用者退出或事務結束時 具體看on commit 選項 自動刪除該表,也可以手動drop。create global temporary table 具體的建立語法還有很多選項,你可以參考oracle sql references.對普通表的dml,建觸發器等操...
如何建立ORACLE大檔案表空間
oracle的簡歷表空間是用來儲存大量的資料物件的,通俗的說是來存放很多很多的物件,有利於資料物件的管理 讓使用者很方便的找到自身所需的。例如 圖書館裡面有很多類得書籍,為了方便與使用者的尋找,我們需要簡歷許多的表 例 武俠類 文學類 災難類等 我們要對這些書籍進行分類 才可以輕鬆的找到自己所需的哪...
Oracle臨時表建立的基本語句是什麼
oracle建立臨時表的語法如下 create global temporary table table column datatype default expr column datatype default expr on commit rows 在oracle中,可以建立以下兩種臨時表 1 會...