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