Oracle其它数据库对象:视图、序列、同义词
生活随笔
收集整理的這篇文章主要介紹了
Oracle其它数据库对象:视图、序列、同义词
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
SQL> --視圖: 由一個或者多個表組成的邏輯表
SQL> -創建一個視圖,包含了10,20的員工信息
SQL> --創建一個視圖,包含了10,20的員工信息
SQL> ed
已寫入 file afiedt.buf
? 1? create or replace view emp1020(empno,ename,sal,deptno)
? 2? as
? 3? select empno,ename,sal,deptno
? 4? from emp
? 5* where deptno in (10,20);
SQL>
?????????????? ?
第 1 行出現錯誤:
ORA-01031: 權限不足
SQL> --創建視圖的權限
SQL> --切換到管理員下,授權
SQL> conn sys/password as sysdba
已連接。
SQL> grant create view to scott;
授權成功。
SQL> conn scott/tiger
已連接。
SQL>? create or replace view emp1020(empno,ename,sal,deptno)
? 2?? as
? 3?? select empno,ename,sal,deptno
? 4?? from emp
? 5?? where deptno in (10,20);
視圖已創建。
SQL> select * from tab;
TNAME????????????????????????? TABTYPE? CLUSTERID???????????????????????????????????????????????????????????????????? ?
------------------------------ ------- ----------???????????????????????????????????????????????????????????????????? ?
DEPT?????????????????????????? TABLE????????????????????????????????????????????????????????????????????????????????? ?
EMP??????????????????????????? TABLE????????????????????????????????????????????????????????????????????????????????? ?
BONUS????????????????????????? TABLE????????????????????????????????????????????????????????????????????????????????? ?
SALGRADE?????????????????????? TABLE????????????????????????????????????????????????????????????????????????????????? ?
EMP10????????????????????????? TABLE????????????????????????????????????????????????????????????????????????????????? ?
EMP101???????????????????????? TABLE????????????????????????????????????????????????????????????????????????????????? ?
MYUSER???????????????????????? TABLE????????????????????????????????????????????????????????????????????????????????? ?
TESTCHAR?????????????????????? TABLE????????????????????????????????????????????????????????????????????????????????? ?
DDD??????????????????????????? TABLE????????????????????????????????????????????????????????????????????????????????? ?
DDDE?????????????????????????? TABLE????????????????????????????????????????????????????????????????????????????????? ?
EMP1020??????????????????????? VIEW?????????????????????????????????????????????????????????????????????????????????? ?
已選擇11行。
SQL> --從視圖中去數據
SQL> select * from emp1020;
???? EMPNO ENAME??????? SAL???? DEPTNO??????????????????????????????????????????????????????????????????????????????? ?
---------- ---------- ----- ----------??????????????????????????????????????????????????????????????????????????????? ?
????? 7369 SMITH??????? 801???????? 20??????????????????????????????????????????????????????????????????????????????? ?
????? 7566 JONES?????? 2976???????? 20??????????????????????????????????????????????????????????????????????????????? ?
????? 7782 CLARK?????? 2551???????? 10??????????????????????????????????????????????????????????????????????????????? ?
????? 7788 SCOTT?????? 3001???????? 20??????????????????????????????????????????????????????????????????????????????? ?
????? 7839 KING??????? 5101???????? 10??????????????????????????????????????????????????????????????????????????????? ?
????? 7876 ADAMS?????? 1101???????? 20??????????????????????????????????????????????????????????????????????????????? ?
????? 7902 FORD??????? 3001???????? 20??????????????????????????????????????????????????????????????????????????????? ?
????? 7934 MILLER????? 1401???????? 10??????????????????????????????????????????????????????????????????????????????? ?
????? 1235 Mary??????? 1101???????? 10??????????????????????????????????????????????????????????????????????????????? ?
????? 2222 Mike??????? 2001???????? 20??????????????????????????????????????????????????????????????????????????????? ?
已選擇10行。
SQL> create or replace view emp10201 (empno,ename,sal,annlsal,deptno)
? 2? as
? 3? select empno,ename,sal,sal*12,deptno
? 4? from emp
? 5? where deptno in (10,20);
視圖已創建。
SQL> select * from emp10201;
???? EMPNO ENAME??????? SAL??? ANNLSAL???? DEPTNO???????????????????????????????????????????????????????????????????? ?
---------- ---------- ----- ---------- ----------???????????????????????????????????????????????????????????????????? ?
????? 7369 SMITH??????? 801?????? 9612???????? 20???????????????????????????????????????????????????????????????????? ?
????? 7566 JONES?????? 2976????? 35712???????? 20???????????????????????????????????????????????????????????????????? ?
????? 7782 CLARK?????? 2551????? 30612???????? 10???????????????????????????????????????????????????????????????????? ?
????? 7788 SCOTT?????? 3001????? 36012???????? 20???????????????????????????????????????????????????????????????????? ?
????? 7839 KING??????? 5101????? 61212???????? 10???????????????????????????????????????????????????????????????????? ?
????? 7876 ADAMS?????? 1101????? 13212???????? 20???????????????????????????????????????????????????????????????????? ?
????? 7902 FORD??????? 3001????? 36012???????? 20???????????????????????????????????????????????????????????????????? ?
????? 7934 MILLER????? 1401????? 16812???????? 10???????????????????????????????????????????????????????????????????? ?
????? 1235 Mary??????? 1101????? 13212???????? 10???????????????????????????????????????????????????????????????????? ?
????? 2222 Mike??????? 2001????? 24012???????? 20???????????????????????????????????????????????????????????????????? ?
已選擇10行。
SQL> --創建視圖: 要求有員工編號,工資,年薪,部門名稱
SQL> create or replace view empdept(empno,ename,sal,annlsal,dname)
? 2? as
? 3? select e.empno,e.ename,e.sal,e.sal*12,d.dname
? 4? from emp e,dept d
? 5? where e.deptno=d.deptno;
視圖已創建。
SQL> select * from empdept;
???? EMPNO ENAME??????? SAL??? ANNLSAL DNAME????????????????????????????????????????????????????????????????????????? ?
---------- ---------- ----- ---------- --------------???????????????????????????????????????????????????????????????? ?
????? 7369 SMITH??????? 801?????? 9612 RESEARCH?????????????????????????????????????????????????????????????????????? ?
????? 7499 ALLEN?????? 1601????? 19212 SALES????????????????????????????????????????????????????????????????????????? ?
????? 7521 WARD??????? 1251????? 15012 SALES????????????????????????????????????????????????????????????????????????? ?
????? 7566 JONES?????? 2976????? 35712 RESEARCH?????????????????????????????????????????????????????????????????????? ?
????? 7654 MARTIN????? 1251????? 15012 SALES????????????????????????????????????????????????????????????????????????? ?
????? 7698 BLAKE?????? 2851????? 34212 SALES????????????????????????????????????????????????????????????????????????? ?
????? 7782 CLARK?????? 2551????? 30612 ACCOUNTING???????????????????????????????????????????????????????????????????? ?
????? 7788 SCOTT?????? 3001????? 36012 RESEARCH?????????????????????????????????????????????????????????????????????? ?
????? 7839 KING??????? 5101????? 61212 ACCOUNTING???????????????????????????????????????????????????????????????????? ?
????? 7844 TURNER????? 1501????? 18012 SALES????????????????????????????????????????????????????????????????????????? ?
????? 7876 ADAMS?????? 1101????? 13212 RESEARCH?????????????????????????????????????????????????????????????????????? ?
???? EMPNO ENAME??????? SAL??? ANNLSAL DNAME????????????????????????????????????????????????????????????????????????? ?
---------- ---------- ----- ---------- --------------???????????????????????????????????????????????????????????????? ?
????? 7900 JAMES??????? 951????? 11412 SALES????????????????????????????????????????????????????????????????????????? ?
????? 7902 FORD??????? 3001????? 36012 RESEARCH?????????????????????????????????????????????????????????????????????? ?
????? 7934 MILLER????? 1401????? 16812 ACCOUNTING???????????????????????????????????????????????????????????????????? ?
????? 1235 Mary??????? 1101????? 13212 ACCOUNTING???????????????????????????????????????????????????????????????????? ?
????? 2222 Mike??????? 2001????? 24012 RESEARCH?????????????????????????????????????????????????????????????????????? ?
已選擇16行。
SQL> --序列:Oracle默認一次創建20個值放入內存
SQL> --序列可能不連續
SQL> -- 需要創建序列的權限 create sequence
SQL> conn sys/password as sysdba
已連接。
SQL> grant create sequence to scott;
授權成功。
SQL> conn scott/tiger
已連接。
SQL> --創建一個序列
SQL> create sequence seq1;
序列已創建。
SQL> -- 采用默認值:
SQL> /*
SQL> 步長:1
SQL> 起始值:1
SQL> 最大值:無窮大
SQL> cache:20
SQL> 不循環
SQL> */
SQL> select seq1.nextval from dual;
?? NEXTVAL??????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
----------??????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
???????? 1??????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
SQL> select seq1.currval from dual;
?? CURRVAL??????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
----------??????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
???????? 1??????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
SQL> select seq1.nextval from dual;
?? NEXTVAL??????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
----------??????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
???????? 2??????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
SQL> --在插入中使用序列: insert into myemp values(seq1.nextval,'Tom'.......)
SQL> --同義詞
SQL> show user;
USER 為 "SCOTT"
SQL> conn hr/hr
已連接。
SQL> --給scott授權訪問employees表
SQL> grant select on employees to scott;
授權成功。
SQL> show user;
USER 為 "HR"
SQL> select * from employees;
EMPLOYEE_ID FIRST_NAME?????????? LAST_NAME???????????????? EMAIL???????????????????? PHONE_NUMBER???????? HIRE_DATE?? ?
----------- -------------------- ------------------------- ------------------------- -------------------- --------------
JOB_ID???????? SALARY COMMISSION_PCT MANAGER_ID DEPARTMENT_ID???????????????????????????????????????????????????????? ?
---------- ---------- -------------- ---------- -------------???????????????????????????????????????????????????????? ?
??????? 198 Donald?????????????? OConnell????????????????? DOCONNEL????????????????? 650.507.9833???????? 21-6月 -99? ?
SH_CLERK???????? 2600?????????????????????? 124??????????? 50???????????????????????????????????????????????????????? ?
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
??????? 199 Douglas????????????? Grant???????????????????? DGRANT??????????????????? 650.507.9844???????? 13-1月 -00? ?
SH_CLERK???????? 2600?????????????????????? 124??????????? 50???????????????????????????????????????????????????????? ?
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
??????? 200 Jennifer???????????? Whalen??????????????????? JWHALEN?????????????????? 515.123.4444???????? 17-9月 -87? ?
AD_ASST????????? 4400?????????????????????? 101??????????? 10???????????????????????????????????????????????????????? ?
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
EMPLOYEE_ID FIRST_NAME?????????? LAST_NAME???????????????? EMAIL???????????????????? PHONE_NUMBER???????? HIRE_DATE?? ?
----------- -------------------- ------------------------- ------------------------- -------------------- --------------
JOB_ID???????? SALARY COMMISSION_PCT MANAGER_ID DEPARTMENT_ID???????????????????????????????????????????????????????? ?
---------- ---------- -------------- ---------- -------------???????????????????????????????????????????????????????? ?
??????? 201 Michael????????????? Hartstein???????????????? MHARTSTE????????????????? 515.123.5555???????? 17-2月 -96? ?
MK_MAN????????? 13000?????????????????????? 100??????????? 20???????????????????????????????????????????????????????? ?
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
??????? 202 Pat????????????????? Fay?????????????????????? PFAY????????????????????? 603.123.6666???????? 17-8月 -97? ?
MK_REP?????????? 6000?????????????????????? 201??????????? 20???????????????????????????????????????????????????????? ?
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
??????? 203 Susan??????????????? Mavris??????????????????? SMAVRIS?????????????????? 515.123.7777???????? 07-6月 -94? ?
HR_REP?????????? 6500?????????????????????? 101??????????? 40???????????????????????????????????????????????????????? ?
???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
EMPLOYEE_ID FIRST_NAME?????????? LAST_NAME???????????????? EMAIL???????????????????? PHONE_NUMBER???????? HIRE_DATE?? ?
----------- -------------------- ------------------------- ------------------------- -------------------- --------------
JOB_ID???????? SALARY COMMISSION_PCT MANAGER_ID DEPARTMENT_ID???????????????????????????????????????????????????????? ?
---------- ---------- -------------- ---------- -------------??????????????????????????????????????????????????? ?
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
已選擇107行。
SQL> --回到scott下
SQL> conn scott/tiger
已連接。
SQL> host cls
SQL> show user;
USER 為 "SCOTT"
SQL> select * from hr.employees;
EMPLOYEE_ID FIRST_NAME?????????? LAST_NAME???????????????? EMAIL???????????????????? PHONE_NUMBER???????? HIRE_DATE?? ?
----------- -------------------- ------------------------- ------------------------- -------------------- --------------
JOB_ID???????? SALARY COMMISSION_PCT MANAGER_ID DEPARTMENT_ID???????????????????????????????????????????????????????? ?
---------- ---------- -------------- ---------- -------------???????????????????????????????????????????????????????? ?
??????? 198 Donald?????????????? OConnell????????????????? DOCONNEL????????????????? 650.507.9833???????? 21-6月 -99? ?
SH_CLERK???????? 2600?????????????????????? 124??????????? 50???????????????????????????????????????????????????????? ?
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
??????? 199 Douglas????????????? Grant???????????????????? DGRANT??????????????????? 650.507.9844???????? 13-1月 -00? ?
SH_CLERK???????? 2600?????????????????????? 124??????????? 50???????????????????????????????????????????????????????? ?
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
??????? 200 Jennifer???????????? Whalen??????????????????? JWHALEN?????????????????? 515.123.4444???????? 17-9月 -87? ?
AD_ASST????????? 4400?????????????????????? 101??????????? 10???????????????????????????????????????????????????????? ?
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
EMPLOYEE_ID FIRST_NAME?????????? LAST_NAME???????????????? EMAIL???????????????????? PHONE_NUMBER???????? HIRE_DATE?? ?
----------- -------------------- ------------------------- ------------------------- -------------------- --------------
JOB_ID???????? SALARY COMMISSION_PCT MANAGER_ID DEPARTMENT_ID???????????????????????????????????????????????????????? ?
---------- ---------- -------------- ---------- -------------???????????????????????????????????????????????????????? ?
??????? 196 Alana??????????????? Walsh???????????????????? AWALSH??????????????????? 650.507.9811???????? 24-4月 -98? ?
SH_CLERK???????? 3100?????????????????????? 124??????????? 50???????????????????????????????????????????????????????? ?
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
??????? 197 Kevin??????????????? Feeney??????????????????? KFEENEY?????????????????? 650.507.9822???????? 23-5月 -98? ?
SH_CLERK???????? 3000?????????????????????? 124??????????? 50???????????????????????????????????????????????????????? ?
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
已選擇107行。
SQL> --select * from hr.employees;
SQL> --切換到管理員下,為scott賦予創建同義詞的權限
SQL> host cls
SQL> conn / as sysdba
已連接。
SQL> grant create synonym to scott;
授權成功。
SQL> conn scott/tiger
已連接。
SQL> create synonym hremp for hr.employees;
同義詞已創建。
SQL> --select * from hr.employees;
SQL> select * from hremp;
EMPLOYEE_ID FIRST_NAME?????????? LAST_NAME???????????????? EMAIL???????????????????? PHONE_NUMBER???????? HIRE_DATE?? ?
----------- -------------------- ------------------------- ------------------------- -------------------- --------------
JOB_ID???????? SALARY COMMISSION_PCT MANAGER_ID DEPARTMENT_ID???????????????????????????????????????????????????????? ?
---------- ---------- -------------- ---------- -------------???????????????????????????????????????????????????????? ?
??????? 198 Donald?????????????? OConnell????????????????? DOCONNEL????????????????? 650.507.9833???????? 21-6月 -99? ?
SH_CLERK???????? 2600?????????????????????? 124??????????? 50???????????????????????????????????????????????????????? ?
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
??????? 199 Douglas????????????? Grant???????????????????? DGRANT??????????????????? 650.507.9844???????? 13-1月 -00? ?
SH_CLERK???????? 2600?????????????????????? 124??????????? 50???????????????????????????????????????????????????????? ?
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
??????? 200 Jennifer???????????? Whalen??????????????????? JWHALEN?????????????????? 515.123.4444???????? 17-9月 -87? ?
AD_ASST????????? 4400?????????????????????? 101??????????? 10???????????????????????????????????????????????????????? ?
?
?
EMPLOYEE_ID FIRST_NAME?????????? LAST_NAME???????????????? EMAIL???????????????????? PHONE_NUMBER???????? HIRE_DATE?? ?
----------- -------------------- ------------------------- ------------------------- -------------------- --------------
JOB_ID???????? SALARY COMMISSION_PCT MANAGER_ID DEPARTMENT_ID???????????????????????????????????????????????????????? ?
---------- ---------- -------------- ---------- -------------???????????????????????????????????????????????????????? ?
??????? 196 Alana??????????????? Walsh???????????????????? AWALSH??????????????????? 650.507.9811???????? 24-4月 -98? ?
SH_CLERK???????? 3100?????????????????????? 124??????????? 50???????????????????????????????????????????????????????? ?
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
??????? 197 Kevin??????????????? Feeney??????????????????? KFEENEY?????????????????? 650.507.9822???????? 23-5月 -98? ?
SH_CLERK???????? 3000?????????????????????? 124??????????? 50???????????????????????????????????????????????????????? ?
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
已選擇107行。
SQL> spool off
SQL> -創建一個視圖,包含了10,20的員工信息
SQL> --創建一個視圖,包含了10,20的員工信息
SQL> ed
已寫入 file afiedt.buf
? 1? create or replace view emp1020(empno,ename,sal,deptno)
? 2? as
? 3? select empno,ename,sal,deptno
? 4? from emp
? 5* where deptno in (10,20);
SQL>
?????????????? ?
第 1 行出現錯誤:
ORA-01031: 權限不足
SQL> --創建視圖的權限
SQL> --切換到管理員下,授權
SQL> conn sys/password as sysdba
已連接。
SQL> grant create view to scott;
授權成功。
SQL> conn scott/tiger
已連接。
SQL>? create or replace view emp1020(empno,ename,sal,deptno)
? 2?? as
? 3?? select empno,ename,sal,deptno
? 4?? from emp
? 5?? where deptno in (10,20);
視圖已創建。
SQL> select * from tab;
TNAME????????????????????????? TABTYPE? CLUSTERID???????????????????????????????????????????????????????????????????? ?
------------------------------ ------- ----------???????????????????????????????????????????????????????????????????? ?
DEPT?????????????????????????? TABLE????????????????????????????????????????????????????????????????????????????????? ?
EMP??????????????????????????? TABLE????????????????????????????????????????????????????????????????????????????????? ?
BONUS????????????????????????? TABLE????????????????????????????????????????????????????????????????????????????????? ?
SALGRADE?????????????????????? TABLE????????????????????????????????????????????????????????????????????????????????? ?
EMP10????????????????????????? TABLE????????????????????????????????????????????????????????????????????????????????? ?
EMP101???????????????????????? TABLE????????????????????????????????????????????????????????????????????????????????? ?
MYUSER???????????????????????? TABLE????????????????????????????????????????????????????????????????????????????????? ?
TESTCHAR?????????????????????? TABLE????????????????????????????????????????????????????????????????????????????????? ?
DDD??????????????????????????? TABLE????????????????????????????????????????????????????????????????????????????????? ?
DDDE?????????????????????????? TABLE????????????????????????????????????????????????????????????????????????????????? ?
EMP1020??????????????????????? VIEW?????????????????????????????????????????????????????????????????????????????????? ?
已選擇11行。
SQL> --從視圖中去數據
SQL> select * from emp1020;
???? EMPNO ENAME??????? SAL???? DEPTNO??????????????????????????????????????????????????????????????????????????????? ?
---------- ---------- ----- ----------??????????????????????????????????????????????????????????????????????????????? ?
????? 7369 SMITH??????? 801???????? 20??????????????????????????????????????????????????????????????????????????????? ?
????? 7566 JONES?????? 2976???????? 20??????????????????????????????????????????????????????????????????????????????? ?
????? 7782 CLARK?????? 2551???????? 10??????????????????????????????????????????????????????????????????????????????? ?
????? 7788 SCOTT?????? 3001???????? 20??????????????????????????????????????????????????????????????????????????????? ?
????? 7839 KING??????? 5101???????? 10??????????????????????????????????????????????????????????????????????????????? ?
????? 7876 ADAMS?????? 1101???????? 20??????????????????????????????????????????????????????????????????????????????? ?
????? 7902 FORD??????? 3001???????? 20??????????????????????????????????????????????????????????????????????????????? ?
????? 7934 MILLER????? 1401???????? 10??????????????????????????????????????????????????????????????????????????????? ?
????? 1235 Mary??????? 1101???????? 10??????????????????????????????????????????????????????????????????????????????? ?
????? 2222 Mike??????? 2001???????? 20??????????????????????????????????????????????????????????????????????????????? ?
已選擇10行。
SQL> create or replace view emp10201 (empno,ename,sal,annlsal,deptno)
? 2? as
? 3? select empno,ename,sal,sal*12,deptno
? 4? from emp
? 5? where deptno in (10,20);
視圖已創建。
SQL> select * from emp10201;
???? EMPNO ENAME??????? SAL??? ANNLSAL???? DEPTNO???????????????????????????????????????????????????????????????????? ?
---------- ---------- ----- ---------- ----------???????????????????????????????????????????????????????????????????? ?
????? 7369 SMITH??????? 801?????? 9612???????? 20???????????????????????????????????????????????????????????????????? ?
????? 7566 JONES?????? 2976????? 35712???????? 20???????????????????????????????????????????????????????????????????? ?
????? 7782 CLARK?????? 2551????? 30612???????? 10???????????????????????????????????????????????????????????????????? ?
????? 7788 SCOTT?????? 3001????? 36012???????? 20???????????????????????????????????????????????????????????????????? ?
????? 7839 KING??????? 5101????? 61212???????? 10???????????????????????????????????????????????????????????????????? ?
????? 7876 ADAMS?????? 1101????? 13212???????? 20???????????????????????????????????????????????????????????????????? ?
????? 7902 FORD??????? 3001????? 36012???????? 20???????????????????????????????????????????????????????????????????? ?
????? 7934 MILLER????? 1401????? 16812???????? 10???????????????????????????????????????????????????????????????????? ?
????? 1235 Mary??????? 1101????? 13212???????? 10???????????????????????????????????????????????????????????????????? ?
????? 2222 Mike??????? 2001????? 24012???????? 20???????????????????????????????????????????????????????????????????? ?
已選擇10行。
SQL> --創建視圖: 要求有員工編號,工資,年薪,部門名稱
SQL> create or replace view empdept(empno,ename,sal,annlsal,dname)
? 2? as
? 3? select e.empno,e.ename,e.sal,e.sal*12,d.dname
? 4? from emp e,dept d
? 5? where e.deptno=d.deptno;
視圖已創建。
SQL> select * from empdept;
???? EMPNO ENAME??????? SAL??? ANNLSAL DNAME????????????????????????????????????????????????????????????????????????? ?
---------- ---------- ----- ---------- --------------???????????????????????????????????????????????????????????????? ?
????? 7369 SMITH??????? 801?????? 9612 RESEARCH?????????????????????????????????????????????????????????????????????? ?
????? 7499 ALLEN?????? 1601????? 19212 SALES????????????????????????????????????????????????????????????????????????? ?
????? 7521 WARD??????? 1251????? 15012 SALES????????????????????????????????????????????????????????????????????????? ?
????? 7566 JONES?????? 2976????? 35712 RESEARCH?????????????????????????????????????????????????????????????????????? ?
????? 7654 MARTIN????? 1251????? 15012 SALES????????????????????????????????????????????????????????????????????????? ?
????? 7698 BLAKE?????? 2851????? 34212 SALES????????????????????????????????????????????????????????????????????????? ?
????? 7782 CLARK?????? 2551????? 30612 ACCOUNTING???????????????????????????????????????????????????????????????????? ?
????? 7788 SCOTT?????? 3001????? 36012 RESEARCH?????????????????????????????????????????????????????????????????????? ?
????? 7839 KING??????? 5101????? 61212 ACCOUNTING???????????????????????????????????????????????????????????????????? ?
????? 7844 TURNER????? 1501????? 18012 SALES????????????????????????????????????????????????????????????????????????? ?
????? 7876 ADAMS?????? 1101????? 13212 RESEARCH?????????????????????????????????????????????????????????????????????? ?
???? EMPNO ENAME??????? SAL??? ANNLSAL DNAME????????????????????????????????????????????????????????????????????????? ?
---------- ---------- ----- ---------- --------------???????????????????????????????????????????????????????????????? ?
????? 7900 JAMES??????? 951????? 11412 SALES????????????????????????????????????????????????????????????????????????? ?
????? 7902 FORD??????? 3001????? 36012 RESEARCH?????????????????????????????????????????????????????????????????????? ?
????? 7934 MILLER????? 1401????? 16812 ACCOUNTING???????????????????????????????????????????????????????????????????? ?
????? 1235 Mary??????? 1101????? 13212 ACCOUNTING???????????????????????????????????????????????????????????????????? ?
????? 2222 Mike??????? 2001????? 24012 RESEARCH?????????????????????????????????????????????????????????????????????? ?
已選擇16行。
SQL> --序列:Oracle默認一次創建20個值放入內存
SQL> --序列可能不連續
SQL> -- 需要創建序列的權限 create sequence
SQL> conn sys/password as sysdba
已連接。
SQL> grant create sequence to scott;
授權成功。
SQL> conn scott/tiger
已連接。
SQL> --創建一個序列
SQL> create sequence seq1;
序列已創建。
SQL> -- 采用默認值:
SQL> /*
SQL> 步長:1
SQL> 起始值:1
SQL> 最大值:無窮大
SQL> cache:20
SQL> 不循環
SQL> */
SQL> select seq1.nextval from dual;
?? NEXTVAL??????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
----------??????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
???????? 1??????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
SQL> select seq1.currval from dual;
?? CURRVAL??????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
----------??????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
???????? 1??????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
SQL> select seq1.nextval from dual;
?? NEXTVAL??????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
----------??????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
???????? 2??????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
SQL> --在插入中使用序列: insert into myemp values(seq1.nextval,'Tom'.......)
SQL> --同義詞
SQL> show user;
USER 為 "SCOTT"
SQL> conn hr/hr
已連接。
SQL> --給scott授權訪問employees表
SQL> grant select on employees to scott;
授權成功。
SQL> show user;
USER 為 "HR"
SQL> select * from employees;
EMPLOYEE_ID FIRST_NAME?????????? LAST_NAME???????????????? EMAIL???????????????????? PHONE_NUMBER???????? HIRE_DATE?? ?
----------- -------------------- ------------------------- ------------------------- -------------------- --------------
JOB_ID???????? SALARY COMMISSION_PCT MANAGER_ID DEPARTMENT_ID???????????????????????????????????????????????????????? ?
---------- ---------- -------------- ---------- -------------???????????????????????????????????????????????????????? ?
??????? 198 Donald?????????????? OConnell????????????????? DOCONNEL????????????????? 650.507.9833???????? 21-6月 -99? ?
SH_CLERK???????? 2600?????????????????????? 124??????????? 50???????????????????????????????????????????????????????? ?
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
??????? 199 Douglas????????????? Grant???????????????????? DGRANT??????????????????? 650.507.9844???????? 13-1月 -00? ?
SH_CLERK???????? 2600?????????????????????? 124??????????? 50???????????????????????????????????????????????????????? ?
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
??????? 200 Jennifer???????????? Whalen??????????????????? JWHALEN?????????????????? 515.123.4444???????? 17-9月 -87? ?
AD_ASST????????? 4400?????????????????????? 101??????????? 10???????????????????????????????????????????????????????? ?
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
EMPLOYEE_ID FIRST_NAME?????????? LAST_NAME???????????????? EMAIL???????????????????? PHONE_NUMBER???????? HIRE_DATE?? ?
----------- -------------------- ------------------------- ------------------------- -------------------- --------------
JOB_ID???????? SALARY COMMISSION_PCT MANAGER_ID DEPARTMENT_ID???????????????????????????????????????????????????????? ?
---------- ---------- -------------- ---------- -------------???????????????????????????????????????????????????????? ?
??????? 201 Michael????????????? Hartstein???????????????? MHARTSTE????????????????? 515.123.5555???????? 17-2月 -96? ?
MK_MAN????????? 13000?????????????????????? 100??????????? 20???????????????????????????????????????????????????????? ?
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
??????? 202 Pat????????????????? Fay?????????????????????? PFAY????????????????????? 603.123.6666???????? 17-8月 -97? ?
MK_REP?????????? 6000?????????????????????? 201??????????? 20???????????????????????????????????????????????????????? ?
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
??????? 203 Susan??????????????? Mavris??????????????????? SMAVRIS?????????????????? 515.123.7777???????? 07-6月 -94? ?
HR_REP?????????? 6500?????????????????????? 101??????????? 40???????????????????????????????????????????????????????? ?
???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
EMPLOYEE_ID FIRST_NAME?????????? LAST_NAME???????????????? EMAIL???????????????????? PHONE_NUMBER???????? HIRE_DATE?? ?
----------- -------------------- ------------------------- ------------------------- -------------------- --------------
JOB_ID???????? SALARY COMMISSION_PCT MANAGER_ID DEPARTMENT_ID???????????????????????????????????????????????????????? ?
---------- ---------- -------------- ---------- -------------??????????????????????????????????????????????????? ?
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
已選擇107行。
SQL> --回到scott下
SQL> conn scott/tiger
已連接。
SQL> host cls
SQL> show user;
USER 為 "SCOTT"
SQL> select * from hr.employees;
EMPLOYEE_ID FIRST_NAME?????????? LAST_NAME???????????????? EMAIL???????????????????? PHONE_NUMBER???????? HIRE_DATE?? ?
----------- -------------------- ------------------------- ------------------------- -------------------- --------------
JOB_ID???????? SALARY COMMISSION_PCT MANAGER_ID DEPARTMENT_ID???????????????????????????????????????????????????????? ?
---------- ---------- -------------- ---------- -------------???????????????????????????????????????????????????????? ?
??????? 198 Donald?????????????? OConnell????????????????? DOCONNEL????????????????? 650.507.9833???????? 21-6月 -99? ?
SH_CLERK???????? 2600?????????????????????? 124??????????? 50???????????????????????????????????????????????????????? ?
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
??????? 199 Douglas????????????? Grant???????????????????? DGRANT??????????????????? 650.507.9844???????? 13-1月 -00? ?
SH_CLERK???????? 2600?????????????????????? 124??????????? 50???????????????????????????????????????????????????????? ?
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
??????? 200 Jennifer???????????? Whalen??????????????????? JWHALEN?????????????????? 515.123.4444???????? 17-9月 -87? ?
AD_ASST????????? 4400?????????????????????? 101??????????? 10???????????????????????????????????????????????????????? ?
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
EMPLOYEE_ID FIRST_NAME?????????? LAST_NAME???????????????? EMAIL???????????????????? PHONE_NUMBER???????? HIRE_DATE?? ?
----------- -------------------- ------------------------- ------------------------- -------------------- --------------
JOB_ID???????? SALARY COMMISSION_PCT MANAGER_ID DEPARTMENT_ID???????????????????????????????????????????????????????? ?
---------- ---------- -------------- ---------- -------------???????????????????????????????????????????????????????? ?
??????? 196 Alana??????????????? Walsh???????????????????? AWALSH??????????????????? 650.507.9811???????? 24-4月 -98? ?
SH_CLERK???????? 3100?????????????????????? 124??????????? 50???????????????????????????????????????????????????????? ?
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
??????? 197 Kevin??????????????? Feeney??????????????????? KFEENEY?????????????????? 650.507.9822???????? 23-5月 -98? ?
SH_CLERK???????? 3000?????????????????????? 124??????????? 50???????????????????????????????????????????????????????? ?
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
已選擇107行。
SQL> --select * from hr.employees;
SQL> --切換到管理員下,為scott賦予創建同義詞的權限
SQL> host cls
SQL> conn / as sysdba
已連接。
SQL> grant create synonym to scott;
授權成功。
SQL> conn scott/tiger
已連接。
SQL> create synonym hremp for hr.employees;
同義詞已創建。
SQL> --select * from hr.employees;
SQL> select * from hremp;
EMPLOYEE_ID FIRST_NAME?????????? LAST_NAME???????????????? EMAIL???????????????????? PHONE_NUMBER???????? HIRE_DATE?? ?
----------- -------------------- ------------------------- ------------------------- -------------------- --------------
JOB_ID???????? SALARY COMMISSION_PCT MANAGER_ID DEPARTMENT_ID???????????????????????????????????????????????????????? ?
---------- ---------- -------------- ---------- -------------???????????????????????????????????????????????????????? ?
??????? 198 Donald?????????????? OConnell????????????????? DOCONNEL????????????????? 650.507.9833???????? 21-6月 -99? ?
SH_CLERK???????? 2600?????????????????????? 124??????????? 50???????????????????????????????????????????????????????? ?
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
??????? 199 Douglas????????????? Grant???????????????????? DGRANT??????????????????? 650.507.9844???????? 13-1月 -00? ?
SH_CLERK???????? 2600?????????????????????? 124??????????? 50???????????????????????????????????????????????????????? ?
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
??????? 200 Jennifer???????????? Whalen??????????????????? JWHALEN?????????????????? 515.123.4444???????? 17-9月 -87? ?
AD_ASST????????? 4400?????????????????????? 101??????????? 10???????????????????????????????????????????????????????? ?
?
?
EMPLOYEE_ID FIRST_NAME?????????? LAST_NAME???????????????? EMAIL???????????????????? PHONE_NUMBER???????? HIRE_DATE?? ?
----------- -------------------- ------------------------- ------------------------- -------------------- --------------
JOB_ID???????? SALARY COMMISSION_PCT MANAGER_ID DEPARTMENT_ID???????????????????????????????????????????????????????? ?
---------- ---------- -------------- ---------- -------------???????????????????????????????????????????????????????? ?
??????? 196 Alana??????????????? Walsh???????????????????? AWALSH??????????????????? 650.507.9811???????? 24-4月 -98? ?
SH_CLERK???????? 3100?????????????????????? 124??????????? 50???????????????????????????????????????????????????????? ?
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
??????? 197 Kevin??????????????? Feeney??????????????????? KFEENEY?????????????????? 650.507.9822???????? 23-5月 -98? ?
SH_CLERK???????? 3000?????????????????????? 124??????????? 50???????????????????????????????????????????????????????? ?
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
已選擇107行。
SQL> spool off
總結
以上是生活随笔為你收集整理的Oracle其它数据库对象:视图、序列、同义词的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 东方红354挂前驱手动杆怎么拆卸
- 下一篇: 路虎排气管怎么拆?