欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Oracle建表與創(chuàng)建序列詳細實例

 更新時間:2023年06月10日 11:54:08   作者:雷神樂樂  
在oracle中sequence就是所謂的序列號,每次取的時候它會自動增長,通常用在須要按序列號排序的地方,下面這篇文章主要給大家介紹了關(guān)于Oracle建表與創(chuàng)建序列的相關(guān)資料,需要的朋友可以參考下

一、簡單建表

CREATE TABLE teacher1
(
    id   number,
    name varchar2(32),
    primary key (id)
);
 
select * from teacher1;
 
-- 插入數(shù)據(jù)
insert into teacher1(id, name) VALUES (7, 'zhangsan');
 
-- 插入數(shù)據(jù)后確認無誤一定要提交,否則不會保存
commit ;
 
-- 修改表名
alter table teacher rename to teacher1;
 
-- 刪除表
drop table teacher1;
 
-- 提交事務(wù)
commit;

二、查看表結(jié)構(gòu)(在Xshell中輸入才能夠執(zhí)行)

desc 表名

三、設(shè)置自增序列

序列是 Oracle 提供的用于產(chǎn)生一系列 唯一數(shù)字 的數(shù)據(jù)庫對象。

(一)普通自增序列

1.創(chuàng)建序列,oracle中沒有自增,創(chuàng)建序列相當于等差數(shù)列自增

通過序列的偽列訪問序列值說明
NEXTVAL返回序列的下一個值
CURRVAL返回序列的當前值

注意:在剛建立序列后,無法提取當前值,只有先提取下一個值時才能再次提取當前值。
ORA-08002: sequence SEQ_TEST.CURRVAL is not yet defined in this session 

創(chuàng)建默認序列規(guī)則是從1開始,每次+1

-- 創(chuàng)建序列名稱
create sequence teacher_seq;
 
-- 提取下一個值
select teacher_seq.nextval from DUAL;
 
-- 提取當前值
select teacher_seq.currval from DUAL;

2.刪除序列

drop sequence 序列名;

3.建表的同時設(shè)置主鍵自增的步驟

-- 先創(chuàng)建表
create table teacher(
    id number,
    name varchar2(32),
    pwd varchar2(32),
    primary key (id)
);
 
-- 再創(chuàng)建序列
create sequence teacher_seq;
 
-- 插入三條數(shù)據(jù),將主鍵id設(shè)置為序列的下一個值,這個就相當于自增
insert into teacher values (teacher_seq.nextval,'zs','123');
insert into teacher values (teacher_seq.nextval, 'lx', '456');
insert into teacher(id, name, pwd) values (teacher_seq.nextval, 'ww', '123');
 
-- 插入數(shù)據(jù)后確認無誤一定要提交,否則不會保存
commit ;
 
select * from teacher;

(二)復(fù)雜序列

1.復(fù)雜序列模板

-- 創(chuàng)建序列名稱
CREATE SEQUENCE 'sequence_name'
-- 遞增`n`的序列(默認:`1`)
-- 如果`n`是正數(shù)就遞增
-- 如果`n`是負數(shù)就遞減
[INCREMENT BY 'n']
-- 開始值(遞增默認是`minvalue`,遞減默認是`maxvalue`)
[START WITH 'n'] 
-- 最大值
[{MAXVALUE 'n' | NOMAXVALUE}]
-- 最小值
[{MINVALUE 'n' | NOMINVALUE}]
-- 循環(huán) | 不循環(huán)(默認:`NOCYCLE`)
[{CYCLE | 'NOCYCLE'}] 
-- 分配并存入到內(nèi)存中(默認:`CACHE`)
[{'CACHE' 'n' | NOCACHE}]; 

2.復(fù)雜序列案例

-- 創(chuàng)建序列規(guī)則是:從100開始,每次+1
create sequence teacher_seq2 start with 100;
select teacher_seq2.nextval from DUAL;
 
-- 創(chuàng)建序列規(guī)則是:從5開始到100,超出最大值后無法創(chuàng)建
create sequence teacher_seq3 minvalue 5 maxvalue 100;
select teacher_seq3.nextval from DUAL;
 
-- 創(chuàng)建序列規(guī)則是:從1開始,步長為3的方式遞增
create sequence teacher_seq4 increment by 3;
select teacher_seq4.nextval from DUAL;
 
-- 創(chuàng)建復(fù)雜序列
create sequence teacher_seq5  increment by 4 start with -2 minvalue -2 maxvalue 10;
select teacher_seq5.nextval from DUAL;
 
-- 刪除其中一個序列
drop sequence teacher_seq5;

四、修改表中的數(shù)據(jù)

update teacher set pwd='123456' where id = 2;
update teacher set pwd='654321',name='lss' where id = 3;

總結(jié)

到此這篇關(guān)于Oracle建表與創(chuàng)建序列的文章就介紹到這了,更多相關(guān)Oracle建表與創(chuàng)建序列內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論