Oracle數(shù)據(jù)庫對象的使用詳解
一、序列
序列可以使用在數(shù)據(jù)庫表的自動增長列中來用,假如我們的學(xué)生表的id想從1開始,然后自動增長,每次增加2,也就是學(xué)生id是1、3、5、7、9這種的,我們就可以配合序列來使用
序列有以下屬性
sequence_name:序列名稱
min_value:當(dāng)前序列的最小值
max_value:當(dāng)前序列的最大值
increment_by:每次序列增長的步長
cy:是否為循環(huán)序列
or:是否需要排序
cache_size:緩存?zhèn)€數(shù),默認(rèn)為20個
last_number:最后的數(shù)值
nextval:取得序列下一個內(nèi)容,每調(diào)用一次序列的值都會增長
currval:表示取得序列的當(dāng)前內(nèi)容,每一次調(diào)用序列不會增長
1、創(chuàng)建一個序列
create sequence myseq;
2、向?qū)W生表插入一條數(shù)據(jù),學(xué)生id使用myseq序列
insert into student(id,name) values (myseq.nextval;'張三');
3、改變myseq序列的步長,每步增加2
create sequence myseq increment by 2;
4、改變myseq序列的開始值為10000
create sequence myseq increment by 2 start with 10000;
5、創(chuàng)建一個循環(huán)序列,并且不使用緩存
如果我們希望某一列的數(shù)據(jù)只是1到9的數(shù)據(jù),那么我們可以使用循環(huán)序列來操作
create sequence myseq minvalue 1 maxvalue 9 cycle nocache;
二、同義詞的作用
同義詞可以將一個模式的表給另一個模式來訪問。
1、將scott用戶下的student表同義給sys用戶使用
create sysnoym student for scott.emp;
2、將scott用戶下的student表同義給所有用戶使用
create public sysnoym student for scott.emp;
三、視圖的定義及使用
視圖是為了簡化復(fù)雜查詢的,視圖是一張?zhí)摂M表,并不存儲數(shù)據(jù),但是數(shù)據(jù)都來源于真實表中
1、創(chuàng)建一個視圖,從學(xué)生表中名字為‘張三’的學(xué)生中取
create view studentview as select * from student where name = '張三';
2、查詢學(xué)生視圖
select * from studentview;
3、更新學(xué)生視圖,將name為‘張三’的年齡更新為20
update studentview set age = 20 where name = '張三';
這個時候我們發(fā)現(xiàn)真實表student中張三的年齡也被修改了,所以這樣修改視圖會影響真實表的數(shù)據(jù),那么我們接下來創(chuàng)建一個視圖讓他修改后不影響真實表。
4、創(chuàng)建一個視圖,從學(xué)生表中名字為‘張三’的學(xué)生中取,并且修改視圖不能影響原來真實表的數(shù)據(jù)
create or replace view studentview as select * from student where name = '張三' with check option;
5、創(chuàng)建一個視圖,從學(xué)生表中名字為‘張三’的學(xué)生中取,并且視圖設(shè)置為只讀
create or replace view studentview as select * from student where name = '張三' with read only;
四、索引的定義及使用
1、創(chuàng)建一個學(xué)生表,并給name建立索引
create index name_index on student (name);
五、總結(jié)
這里的相關(guān)內(nèi)容還沒有整理完畢,文章后面持續(xù)更新,建議收藏。
文章中涉及到的命令大家一定要像我一樣每個都敲幾遍,只有在敲的過程中才能發(fā)現(xiàn)自己對命令是否真正的掌握了。
到此這篇關(guān)于Oracle數(shù)據(jù)庫對象的使用的文章就介紹到這了,更多相關(guān)Oracle數(shù)據(jù)庫對象內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
oracle中to_date詳細(xì)用法示例(oracle日期格式轉(zhuǎn)換)
這篇文章主要介紹了oracle中to_date詳細(xì)用法示例,包括期和字符轉(zhuǎn)換函數(shù)用法、字符串和時間互轉(zhuǎn)、求某天是星期幾、兩個日期間的天數(shù)、月份差等用法2014-01-01
Oracle?數(shù)據(jù)庫層級遍歷查詢功能的實現(xiàn)
這篇文章主要介紹了Oracle?數(shù)據(jù)庫層級遍歷查詢,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-07-07
Oracle中的INSTR,NVL和SUBSTR函數(shù)的用法詳解
這篇文章主要介紹了Oracle中的INSTR,NVL和SUBSTR函數(shù)的用法詳解,需要的朋友可以參考下2017-02-02
oracle數(shù)據(jù)庫id自增及生成uuid問題
這篇文章主要介紹了oracle數(shù)據(jù)庫id自增及生成uuid問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-05-05
[Oracle] Data Guard CPU/PSU補丁安裝詳細(xì)教程
以下是對Data Guard CPU/PSU補丁安裝的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以參考下2013-07-07
Oracle cloud control 12c的啟動、關(guān)閉及獲取安裝信息的方法
這篇文章主要介紹了Oracle cloud control 12c的啟動、關(guān)閉及獲取安裝信息的方法,例如獲取安裝時設(shè)定的各類端口號,URL以及如何啟動、關(guān)閉cloud control等等,需要的朋友可以參考下2014-11-11

