Oracle高階 同義詞 索引 序列

2021-07-23 10:06:04 字數 2751 閱讀 6689

--同義詞建立的語法

/*create [or replace] [public] synonym [schema .] synonym 

for [schema .] object [@ dblink];

*/

--同義詞的優點

--1.安全,隱藏了資料庫物件的名稱和所有者

--2.提供了物件的公共訪問

--3.簡化了sql語句

--查詢emp表,但是不想讓人知道查詢的表的真實的名字  

grant create synonym to scott ;      

create synonym ep for emp;

--資料字典檢視同義詞是否建立

select * from user_synonyms;

select * from ep;

--建立乙個dept表的同義詞 dp

create or replace synonym dp for dept;

select * from user_synonyms;

select * from dp;

grant create public synonym to scott ;

--為emp表建立乙個公有的同義詞 ep

create or replace public synonym ep for emp;

--賦予許可權建立同義詞

grant create [public] synonym to scott ;

--同義詞執行dml

insert into dp values(58,'銷售','衡陽');

--刪除同義詞的許可權

grant drop public synonym to scott;

--刪除同義詞

drop public synonym ep;

--索引

create table student(       sid number,       sname varchar2(20))

create sequence seq_stu;

--批量插入insert into tablename 子查詢;

--生成一條資料select seq_stu.nextval,dbms_random.string('1',10) from dual connect by level <=1;

--生成20條資料select seq_stu.nextval,dbms_random.string('1',10) from dual connect by level <=20;

--生成100w條資料insert into student select seq_stu.nextval,dbms_random.string('1',10) from dual connect by level <=1000000;

select count(1) from student;

--查詢id為999999的資料select * from student s where s.sid=999999;--0.156s

--索引建立的語法

--建立索引

create index ind_sid on student(sid);

select * from student s where s.sid=999999;--0.141s--資料字典檢視索引

select * from user_indexes;

--檢視dba 使用者下的索引

select * from dba_indexes where owner='scott';

select * from dba_sequences;

--序列建立的語法
/*create sequence [schema .] sequence[ 

integer |  |  |  |  |  }  [  integer |  |  |  |  |   ]...];*/

--建立乙個序列  seq_test  起始值為1000   最大值為1004 步長為1的 不迴圈 快取為20 的序列
create sequence seq_test start with 1000  maxvalue 1004 increment by 1 nocycle cache 20;
--怎麼檢視序列是否建立成功
--1.plsql左側檢視檢視
--2.使用資料字典
select * from user_sequences;
--檢視序列的值

select seq_test.nextval from dual;--檢視序列的下乙個值
select seq_test.currval from dual;--序列當前值
create sequence seq_test1 start with 1000  maxvalue 1004 increment by 1 cycle cache 20;select seq_test1.nextval from dual;

oracle索引 序列 同義詞

索引 序列 同意詞 建立 維護和使用序列 提供有規律的數值 1.建立序列 create sequence dept deptid seq 每次增長的數值 increment by n increment by 10 從哪個值開始 start with n start with 120 最小值 min...

oracle 序列與同義詞

建立序列需要許可權 create sequence 授權過程 建立序列的語法 create sequence 序列名 increment by n increment by n 設定序列的間隔長度 例如 預設情況下,不設定間隔長度預設為一 其他引數 start with 定義序列的起始值 maxva...

Oracle同義詞和序列

1 1同義詞 是表 索引 檢視的模式物件的乙個別名,通過模式物件建立同意詞,可以隱藏物件的實際名稱和 所有者資訊,為物件提供一定的安全性,開發應用程式時 應該盡量避免直接使用表,檢視 或其他物件,改用物件的同義詞。23 2避免當管理員對資料庫物件做出修改和變動後,必須重新編譯應用程式,只需要在資料庫...