oracle中如何自增 oracle數(shù)據(jù)庫自增

oracle是怎么實現(xiàn)表的自增

用觸發(fā)器trigger的功能來實現(xiàn)它: 1、首先建立一個創(chuàng)建自增字段的存儲過程create or replace procedure pro_create_seq_col

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名注冊、虛擬主機、營銷軟件、網站建設、中站網站維護、網站推廣。

(tablename varchar2,columnname varchar2)

as

strsql varchar2(1000);

begin

strsql := 'create sequence seq_'||tablename||' minvalue 1 maxvalue 999999999999999999 start with 1 increment by 1 nocache';

execute immediate strsql;

strsql := 'create or replace trigger trg_'||tablename||' before insert on '||tablename||' for each row begin select seq_'||tablename||'.nextval into :new.'||columnname||' from dual; end;';

execute immediate strsql;

end;

/

2、Oracle中執(zhí)行動態(tài)SQL時要顯示授權(即使該用戶擁有該相關權限)GRANT CREATE ANY SEQUENCE TO UserName;

GRANT CREATE ANY TRIGGER TO UserName;

3、重新Compile存儲過程pro_create_seq_col; 4、搞定,下面我們就可以用這個存儲過程建立自增自段了。 5、調用存儲過程建立自增字段(提示: 第一個參數(shù)是表名,第二個參數(shù)為自增字段的名字)exec pro_create_seq_col('sb_zsxx','zsxh');

exec pro_create_seq_col('sb_sbxx','sbxh');

exec pro_create_seq_col('sb_jkx','pzxh');

exec pro_create_seq_col('sdspfp','sysfpid');

如何在oracle表中添加一列自動增長的數(shù)據(jù)?

oracle中沒有自動增長,只有序列號\x0d\x0a添加一條記錄和sqlserver一樣\x0d\x0a語法:insert into table(列,列,列) values(value,value,value); \x0d\x0a\x0d\x0a如果有個自動增長列\(zhòng)x0d\x0a可以用這種方法,首先創(chuàng)建一個序列號SEQ_Test\x0d\x0a然后insert into table(ID,列,列) values(SEQ_Test.nextval,value,value);

oracle中如何實現(xiàn)某一字段自增

-----oracle 指定字段 自增 ,1.要先創(chuàng)建一個序列 2. 之后創(chuàng)建一個觸發(fā)器

--- 序列 (序列與觸發(fā)器實現(xiàn)t_sys_organize表中F_ID字段的自動增長)

create sequence t_sys_organize_F_ID_SEQUENCE

minvalue 100000

maxvalue 99999999

start with 100000

increment by 1

nocache;

--觸發(fā)器 (序列與觸發(fā)器實現(xiàn)t_sys_organize表中F_ID字段的自動增長)

CREATE OR REPLACE TRIGGER t_sys_organize_F_ID_TRIGGER BEFORE INSERT ON t_sys_organize FOR EACH ROW WHEN(NEW.F_ID IS NULL)

BEGIN

SELECT t_sys_organize_F_ID_SEQUENCE.NEXTVAL INTO:NEW.F_ID FROM dual;

END;

如何設置oracle數(shù)據(jù)庫自增字段

這里Oracle數(shù)據(jù)庫使用命令行操作,注意Oracle不能直接設置自增字段,需要使用序列+觸發(fā)器來實現(xiàn)。

1.創(chuàng)建Book表

Create table Book(

Id NUMBER(6) constraint s_PK primary key,

Title nvarchar2(200) not null,

Author nvarchar2(200) not null,

Publisher nvarchar2(200) not null,

ISBN nvarchar2(50) not null,

Price NUMBER(6,2) not null,

CategoryName nvarchar2(50) not null,

Description nvarchar2(1000) not null,

ImageName varchar2(50)

);

2.創(chuàng)建自增序列

create sequence BOOK_seq (BOOK_seq為序列名,任意?。?/p>

increment by 1 (increment 表示字段逐條增加1)

start with 1 (設置自增序列的初始值為1)

nomaxvalue (不限制自增序列的最大值)

minvalue 1; (設置自增序列的最小值為1)

3.試用一下,向BOOK表中插入一條數(shù)據(jù),Id列就引用了自增序列。

insert into BOOK values(BOOK_seq.nextval,'a','a','a','a',32.1,'a',

'a','1.jpg');

注意:

操作之后記得輸入“commit;“保存操作。

Oracle數(shù)據(jù)庫的的命令行創(chuàng)建表,系統(tǒng)會自動轉化為大寫字母,假如使用數(shù)據(jù)庫操作客戶端,那么建表等操作時記得字段名大寫。

名稱欄目:oracle中如何自增 oracle數(shù)據(jù)庫自增
分享地址:http://www.muchs.cn/article12/hjeggc.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供自適應網站、做網站關鍵詞優(yōu)化定制開發(fā)、Google、全網營銷推廣

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

外貿網站建設