11同義詞:是表、索引、檢視的模式物件的乙個別名,通過模式物件建立同意詞,可以隱藏物件的實際名稱和 所有者資訊,為物件提供一定的安全性,開發應用程式時;應該盡量避免直接使用表,檢視 或其他物件,改用物件的同義詞。23
2避免當管理員對資料庫物件做出修改和變動後,必須重新編譯應用程式,只需要在資料庫中對同義詞進行修改,不必對應用程式做任何改動;45
3同義詞分為 兩種型別:公有同義詞和私有同義詞,公有同義詞被乙個特殊的使用者組public所擁有
6所有使用者都可以使用,而私有詞只能被建立它的使用者使用
7同義詞只是乙個模式物件的別名,不占用任何的儲存空間89
--建立部門表的同義詞
10create
public synonym public_dept for
scott.dept1;
11select
*from
public_dept;
12--
賦予simon 查詢任何表的許可權
13grant
select
anytable
tosimon;
14--
建立私有同義詞 ,私有詞只有當前使用者可以直接引用,其他使用者引用必須帶模式名 :sys.private_dept
15create synonym private_dept for
scott.dept;
16select
*from
sys.private_dept;
17drop
synonym private_dept;
18drop
public
synonym public_dept;
1920
--***序列物件
21--
序列是oracle提供的用於生成一系列唯一數字的資料庫物件,生成自動遞增的序列號;提供唯一主鍵值
22create
sequence empno_seq
23 maxvalue 99999
24 start with
9000
25 increment by
10026 cache 50; --
序列允許將序列提前生成 cache x個先存入記憶體,在發生大量申請序列語句時,可直接到執行最快的記憶體中去得到序列。
27insert
into
emp(empno,ename,deptno)
28values(empno_seq.nextval,'
中國',20
);29
select
*from
emp;
30--
觸發器31
create
orreplace
trigger
tr_emp
32 before insert
onemp
33for
each row
34begin
35select empno_seq.nextval into :new.empno from
dual;
36end;37
insert
into
emp(ename,deptno)
38values('
南昌',20
);39
--查詢當期的序列號 -插入測試資料,啟用當前回話
40select empno_seq.nextval from
dual;
41select empno_seq.currval from
dual;
42--
修改序列
43alter
sequence empno_seq
44 maxvalue 100000
45 increment by
246 cache 100
47--
刪除序列
48drop sequence empno_seq;
序列和同義詞
序列 序列和檢視一樣,不占有實際的儲存空間,只是在資料庫中儲存它的定義 建立序列 create sequence emp seq increment by 1 start with 1 nomaxvalue nocycle cache 10 引用序列 insert into emp values e...
序列和同義詞
1 定義 僅向前的數字變數 和sql 中的自動編號有點像 identity 1,2 2 如何定義乙個序列 格式 create sequence 序列名稱 start with 起始數 increment by 增長量 maxvalue 值 minvalue 值 cycle 當到達最大值的時候,將繼續...
oracle 序列與同義詞
建立序列需要許可權 create sequence 授權過程 建立序列的語法 create sequence 序列名 increment by n increment by n 設定序列的間隔長度 例如 預設情況下,不設定間隔長度預設為一 其他引數 start with 定義序列的起始值 maxva...