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)文章
利用PL/SQL從Oracle數(shù)據(jù)庫導(dǎo)出和導(dǎo)入數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了利用PL/SQL從Oracle數(shù)據(jù)庫導(dǎo)出數(shù)據(jù)和導(dǎo)入數(shù)據(jù),具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-03-03Oracle數(shù)據(jù)庫數(shù)據(jù)丟失恢復(fù)的幾種方法總結(jié)
相信大家無論是開發(fā)、測試還是運維過程中,都可能會因為誤操作、連錯數(shù)據(jù)庫、用錯用戶、語句條件有誤等原因,導(dǎo)致錯誤刪除、錯誤更新等問題。當(dāng)你捶胸頓足或嚇得腿軟時,肯定希望有辦法來恢復(fù)這些數(shù)據(jù)。oracle就提供了一些強大的方法或機(jī)制,可以幫到有需要的你。2016-12-12Oracle創(chuàng)建帶有參數(shù)的視圖代碼介紹
這篇文章主要介紹了Oracle創(chuàng)建帶有參數(shù)的視圖代碼介紹,簡介地介紹了創(chuàng)建方法,具有一定參考價值,需要的朋友可以了解下。2017-09-09SQL Server、Oracle和MySQL判斷NULL的方法
本文講述SQL Server、Oracle、MySQL查出值為NULL的替換,在SQL Server Oracle MySQL當(dāng)數(shù)據(jù)庫中查出某值為NULL怎么辦2012-11-11oracle使用sql腳本生成csv文件案例學(xué)習(xí)
在oracle中用sql腳本生成csv文件,很多的朋友都想實現(xiàn)這樣的功能,所以本文的出現(xiàn)是很有必要的,感興趣的你可千萬不要錯過,希望本文可以幫助到你2013-02-02Oracle數(shù)據(jù)庫如何獲取當(dāng)前自然周,當(dāng)前周的起始和結(jié)束日期
Oracle數(shù)據(jù)庫如何獲取當(dāng)前自然周,當(dāng)前周的起始和結(jié)束日期問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12