首頁 > 軟體

Oracle資料庫物件的使用詳解

2022-07-28 22:05:42

一、序列

序列可以使用在資料庫表的自動增長列中來用,假如我們的學生表的id想從1開始,然後自動增長,每次增加2,也就是學生id是1、3、5、7、9這種的,我們就可以配合序列來使用
序列有以下屬性
sequence_name:序列名稱
min_value:當前序列的最小值
max_value:當前序列的最大值
increment_by:每次序列增長的步長
cy:是否為迴圈序列
or:是否需要排序
cache_size:快取個數,預設為20個
last_number:最後的數值
nextval:取得序列下一個內容,每呼叫一次序列的值都會增長
currval:表示取得序列的當前內容,每一次呼叫序列不會增長

1、建立一個序列

create sequence myseq;

2、向學生表插入一條資料,學生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、建立一個迴圈序列,並且不使用快取

如果我們希望某一列的資料只是1到9的資料,那麼我們可以使用迴圈序列來操作

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;

三、檢視的定義及使用

檢視是為了簡化複雜查詢的,檢視是一張虛擬表,並不儲存資料,但是資料都來源於真實表中

1、建立一個檢視,從學生表中名字為‘張三’的學生中取

create view studentview as select * from student where name = '張三';

2、查詢學生檢視

select * from studentview;

3、更新學生檢視,將name為‘張三’的年齡更新為20

update studentview set age = 20 where name = '張三';

這個時候我們發現真實表student中張三的年齡也被修改了,所以這樣修改檢視會影響真實表的資料,那麼我們接下來建立一個檢視讓他修改後不影響真實表。

4、建立一個檢視,從學生表中名字為‘張三’的學生中取,並且修改檢視不能影響原來真實表的資料

create or replace view studentview as 
select * from student where name = '張三'
with check option; 

5、建立一個檢視,從學生表中名字為‘張三’的學生中取,並且檢視設定為唯讀

create or replace view studentview as 
select * from student where name = '張三'
with read only;

四、索引的定義及使用

1、建立一個學生表,並給name建立索引

create index name_index on student (name);

五、總結

這裡的相關內容還沒有整理完畢,文章後面持續更新,建議收藏。

文章中涉及到的命令大家一定要像我一樣每個都敲幾遍,只有在敲的過程中才能發現自己對命令是否真正的掌握了。

到此這篇關於Oracle資料庫物件的使用的文章就介紹到這了,更多相關Oracle資料庫物件內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com