這里Oracle數(shù)據(jù)庫使用命令行操作,注意Oracle不能直接設置自增字段,需要使用序列+觸發(fā)器來實現(xiàn)。
10年積累的成都網(wǎng)站建設、成都做網(wǎng)站經驗,可以快速應對客戶對網(wǎng)站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡服務。我雖然不認識你,你也不認識我。但先網(wǎng)站制作后付款的網(wǎng)站建設流程,更有義縣免費網(wǎng)站建設讓你可以放心的選擇與我們合作。
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中沒有自動增長,只有序列號\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中沒有像MySQL那樣的id自增長功能
如果要用Oracle這么做的話首先要先建一個表,如:
CREATE
TABLE
test(
ID
Number(4)
NOT
NULL
PRIMARY
KEY,
NAME
VARCHAR(25),
PHONE
VARCHAR(10),
ADDRESS
VARCHAR(50));
然后,你需要一個自定義的sequence:
CREATE
SEQUENCE
emp_sequence
INCREMENT
BY
1
--
每次加幾個
START
WITH
1
--
從1開始計數(shù)
NOMAXVALUE
--
不設置最大值
NOCYCLE
--
一直累加,不循環(huán)
NOCACHE
--
不建緩沖區(qū)
你只有了表和序列還不夠,還需要一個觸發(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;
這時你再向test表中插數(shù)據(jù)就可以不用管id了
-----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;