oracle不想sql

目前創(chuàng)新互聯(lián)公司已為千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)絡(luò)空間、網(wǎng)站托管運(yùn)營、企業(yè)網(wǎng)站設(shè)計(jì)、邯山網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
server一樣有一個(gè)自增長(zhǎng)屬性可以設(shè)置。oracle如果需要自增長(zhǎng)需要使用序列。
主要的實(shí)現(xiàn)過程:
1、創(chuàng)建序列
-- Create sequence
create sequence SEQ_NAME
minvalue 1
maxvalue 9999999999
start with 1
increment by 1
cache 20
order;
其中SEQ_NAME是自定義的序列名稱,上面那個(gè)創(chuàng)建序列的意思是開始序列號(hào)是1,序列增量是1,最小值是1,高速緩存大小是20
2、調(diào)用序列作為主鍵
select seq_name.nextval from dual;---查詢seq_name序列的下一個(gè)數(shù)值
insert into tablename (a,b) value (seq_name.nextval,'b');--獲取下一個(gè)序列值插入數(shù)據(jù)庫中
oracle 中不能設(shè)置自動(dòng)增加,這個(gè)和其他數(shù)據(jù)庫不一樣,但是有 序列,這個(gè)是Oracle自己特有的東西,
首先創(chuàng)建序列:
create sequence seq;
這就創(chuàng)建好了,然后 seq.nextval 就會(huì)返回一個(gè)值,不會(huì)重復(fù)的值,
insert into tablename values(seq.nextval,'001','javabook');
insert into tablename values(seq.nextval,'001','javabook');
insert into tablename values(seq.nextval,'001','javabook');
看明白沒?這樣前3個(gè)id 分別是 1,2,3
首先,Oracle中沒有像MySQL那樣的id自增長(zhǎng)功能
如果要用Oracle這么做的話首先要先建一個(gè)表,如:
CREATE
TABLE
test(
ID
Number(4)
NOT
NULL
PRIMARY
KEY,
NAME
VARCHAR(25),
PHONE
VARCHAR(10),
ADDRESS
VARCHAR(50));
然后,你需要一個(gè)自定義的sequence:
CREATE
SEQUENCE
emp_sequence
INCREMENT
BY
1
--
每次加幾個(gè)
START
WITH
1
--
從1開始計(jì)數(shù)
NOMAXVALUE
--
不設(shè)置最大值
NOCYCLE
--
一直累加,不循環(huán)
NOCACHE
--
不建緩沖區(qū)
你只有了表和序列還不夠,還需要一個(gè)觸發(fā)器來執(zhí)行它:
CREATE
TRIGGER
"觸發(fā)器名稱"
BEFORE
INSERT
ON
example
FOR
EACH
ROW
WHEN
(new.id
is
null)
begin
select
emp_sequence.nextval
into:
new.id
from
dual;
end;
這時(shí)你再向test表中插數(shù)據(jù)就可以不用管id了
分享標(biāo)題:oracle有自怎么,oracle有自怎么安裝
本文鏈接:http://chinadenli.net/article10/hcpddo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、云服務(wù)器、軟件開發(fā)、定制網(wǎng)站、虛擬主機(jī)、網(wǎng)站內(nèi)鏈
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)