視圖的做用數據庫
視圖的優勢函數
注意事項code
語法索引
create or replace view 視圖名 as select 語句;
create or replace
:關鍵字,建立或者替換(若原來沒有,則建立,若已經有,則替換原來的)it
範例table
SQL> create or replace view v_emp as 2 select empno, ename, job from emp; 視圖已建立。
SQL> select * from v_emp; EMPNO ENAME JOB ---------- -------------------- ------------------ 7777 S_HH%GGH CLERK 7369 SMITH CLERK 7499 ALLEN SALESMAN ...
語法test
create or replace view 視圖名 as select 語句 with read only;
範例效率
SQL> create or replace view v_emp2 as 2 select empno,ename,job from emp 3 with read only; 視圖已建立。
SQL> delete from v_emp2; delete from v_emp2 * 第 1 行出現錯誤: ORA-42399: 沒法對只讀視圖執行 DML 操做
查看指定用戶下的全部視圖select
SQL> select view_name from dba_views where owner='SCOTT'; VIEW_NAME ------------------------------------------------------------ V_DEPT V_DEPT_EMP V_EMP V_EMP2
dba_views
查看數據庫下全部視圖owner='SCOTT'
指定用戶view_name
顯示視圖的名稱SQL> drop view v_emp; 視圖已刪除。 SQL> drop view v_emp2; 視圖已刪除。 SQL> select view_name from dba_views where owner='SCOTT'; VIEW_NAME ------------------------------------------------------------ V_DEPT V_DEPT_EMP
索引的做用語法
索引的注意事項
語法
create index 索引名 on 表名(列名);
範例
SQL> create index IND_emp_deptno on emp(deptno); 索引已建立。
語法
create unique index 索引名字 on 表名(列名);
範例
SQL> create unique index ind_indtest_id on ind_test(id); 索引已建立。
查看
SQL> select index_name from user_ind_columns where table_name='EMP'; INDEX_NAME ------------------------------------------------------------ UNIQUE_EMP_ENAME PK_EMP
SQL> select index_name from user_ind_columns where table_name='IND_TEST'; INDEX_NAME ------------------------------------------------------------ IND_INDTEST_ID
刪除索引
SQL> drop index IND_emp_deptno; 索引已刪除。
SQL> drop index IND_INDTEST_ID; 索引已刪除。