oracle 序列與同義詞
建立序列需要許可權 create sequence
授權過程
建立序列的語法
create sequence 序列名 increment by n;
increment by n 設定序列的間隔長度
例如:
預設情況下,不設定間隔長度預設為一
其他引數:
start with 定義序列的起始值
maxvalue 序列器能產生的最大值
minvalue 序列能產生的最小值
例如:
XL_5 含義為,建立序列為遞減序列,間隔為1,起始值為-200 最小值為-300;
cycle 迴圈 nocycle 不迴圈
如XL_5 當序列生成器生成了-200到-300的數之後,使用cycle和nocycle來確定是否迴圈。
cache 存放序列記憶體塊的大小,預設為20(記憶體塊的作用是增加序列的效能,不過會佔用記憶體空間)
nocache 不緩衝
刪除序列
語法
drop sequence 序列名
序列允許被修改,但是start with引數不可以修改,修改序列的引數,只會影響以後對序列的使用,對已存入的資料無效。
語法
alter sequence 序列名 ……引數
使用序列的方法
引數
currval 使用當前序列值
nextval 使用下一個值
語法: 序列名.currval/nextval
例如:
可以通過 select語句查詢序列
序列的資料字典:user_sequences
oracle 同義詞
同義詞相當於一個alias,便於查詢
分為公有同義詞和私有同義詞
許可權:
公有同義詞: create public synonym 公有同義詞會對所有人生效
私有同義詞: create synonym 只對自己生效
當建立的表,公有同義詞,私有同義詞三者同名的時候,使用select的優先順序為
表〉私有〉公有
建立公有同義詞:
語法
create public synonym 同義詞名 for 物件名;
上面例子中,之前建立過名為A的表掩飾序列,所以在查詢時因為優先順序的原因沒有顯示EMP表,而B的時候就會顯示
建立私有同義詞的方法相同
create synonym 同義名 for 物件名
刪除同義詞
drop public synonym 同義詞名稱,需要刪除的許可權:drop public synonym。
同義詞資料字典: user_synonyms
轉載於:https://blog.51cto.com/zhengweiit/518674