Oracle同義詞和其序列的使用方案簡(jiǎn)介
以下的文章主要講述的是Oracle同義詞和其序列的基本使用方案,其實(shí)Oracle同義詞通俗的講就是一個(gè)實(shí)際對(duì)象的替代名稱,它的主要功能是巧妙地利用Oracle同義詞來(lái)操縱各種不同的相關(guān)用戶模式下的對(duì)象。
通過(guò)select user from dual查看當(dāng)前使用的用戶。
訪問(wèn)其它用戶模式下的表:
- select * from scott.dept;
表示查看scott用戶模式下的dept表數(shù)據(jù)。
同義詞分為private 和 public,private僅創(chuàng)建的用戶可以使用。public則所有用戶都可以使用。
語(yǔ)法:
- CREATE SYNONYN DEPT FOR SCOTT.DEPT;
表示將scoot用戶下的dept表,創(chuàng)建為當(dāng)前用戶的Oracle同義詞。默認(rèn)為private。
通過(guò)drop synonym dept刪除。
- create public synonym dept for scott.dept;
表示創(chuàng)建一個(gè)公共的,在其它用戶模式下也同樣的進(jìn)行查詢。
序列
作用:獨(dú)立的事務(wù),按一定的增量自動(dòng)增加或減少,一組整型值。
語(yǔ)法:
- create sequence myseq start with 1
從1開(kāi)始
increment by 1 --每次增加1
order --從小到大排序
- nocycle;
為了避免取到重復(fù)值,不進(jìn)行序列循環(huán),此項(xiàng)為影響性能,使數(shù)據(jù)庫(kù)被迫訪問(wèn)磁盤。
使用方法:
- select myseq.nextval from dual;
通過(guò)nextval取得下一個(gè)值。
通過(guò)
- select myseq.currval from dual;
查看當(dāng)前序列的值。
如果數(shù)據(jù)庫(kù)重啟,不能馬上通過(guò)currval來(lái)查看序列的當(dāng)前值,要通過(guò)nextval取完值后,再通過(guò)currval查看當(dāng)前序列的值。
desc dba_sequences 查看dba下sequence的情況。同樣包括all_sequences,user_sequences.
修改序列遞增是:
- ALTER SEQUENCE MYSEQ INCREMENT BY 3;
通過(guò)修改的方式修改序列的遞增量。但不能修改序列的當(dāng)前值。 以上的相關(guān)內(nèi)容就是對(duì)Oracle同義詞與序列基本使用的介紹,望你能有所收獲。
【編輯推薦】