您好,登錄后才能下訂單哦!
CREATE SEQUENCE sequence
[INCREMENT BY n] --每次增長的數值(步長),默認值為1(n為正數,則自增;n為負數,則自減)
[START WITH n] --從哪個值開始(初始值),默認值為1
[{MAXVALUE n | NOMAXVALUE}] -- 默認值為 NOMAXVALUE
[{MINVALUE n | NOMINVALUE}]-- 默認值為 NOMINVALUE
[{CYCLE | NOCYCLE}] -- 是否循環,默認值為NOCYCLE
[{CACHE n | NOCACHE}] --是否緩存,默認為不緩存
SQL> create sequence deptno_seq start with 50 increment by 10 maxvalue 70 cache 3;
序列已創建。
SQL> create table deptnew as select * from dept;
表已創建。
SQL> insert into deptnew(deptno, dname, loc) values(deptno_seq.nextval, 'test_dname','test_loc');
已創建 1 行。
SQL> select * from deptnew;
DEPTNO DNAME LOC
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
50 test_dname test_loc
SQL> select deptno_seq.currval from dual;
CURRVAL
50
- 附加說明:Oracle中的dual表
SQL> SELECT sequence_name, min_value, max_value, increment_by, cycle_flag, cache_size, last_number from user_sequences;
SEQUENCE_NAME MIN_VALUE MAX_VALUE INCREMENT_BY C CACHE_SIZE LAST_NUMBER
DEPTNO_SEQ 1 70 10 N 3 80
ALTER SEQUENCE sequence
[INCREMENT BY n] --每次增長的數值
[{MAXVALUE n | NOMAXVALUE}]
[{MINVALUE n | NOMINVALUE}]
[{CYCLE | NOCYCLE}] -- 是否需要循環
[{CACHE n | NOCACHE}] --是否需要緩存
SQL> alter sequence deptno_seq maxvalue 90;
序列已更改。
SQL> DROP SEQUENCE deptno_seq;
序列已刪除。
SQL> create index idx_ename on emp(ename);
索引已創建。
SQL> create index idx_deptno on emp(deptno, job);
索引已創建。
SQL> create unique index idx_dname on dept(dname);
索引已創建。
SQL> create index idx_job on emp(job);
索引已創建。
SQL> SELECT uic.index_name, uic.column_name, uic.column_position, ui.uniqueness FROM user_indexes ui, user_ind_columns uic WHERE uic.index_name = ui.index_name AND ui.table_name = 'EMP';
INDEX_NAME COLUMN_NAME COLUMN_POSITION UNIQUENES
IDX_JOB JOB 1 NONUNIQUE
......
PK_EMP EMPNO 1 UNIQUE
SQL> DROP INDEX idx_ename;
索引已刪除。
1、簡化對象訪問。
2、提供對象訪問的安全性:多用戶協同開發中,可以屏蔽對象的名字及其持有者。
SQL> conn sys/02000059 as sysdba;
已連接。
SQL> grant create public synonym to scott;
授權成功。
SQL> grant create synonym to scott;
授權成功。
SQL> conn scott/02000059
已連接。
SQL> create public synonym dn for scott.deptnew;
同義詞已創建。
SQL> select * from dn;
DEPTNO DNAME LOC
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
50 test_dname test_loc
SQL> create synonym em for scott.emp01;
同義詞已創建。
SQL> select * from em;
EMPNO ENAME JOB MGR HIREDATE SAL COMM
DEPTNO
7951 EASON ANALYST 7566 01-12月-17 3000
20
7369 G_EASON CLERK 7902 17-12月-80 800
20
......
7934 MILLER CLERK 7782 23-1月 -82 1300
10
已選擇9行。
SQL> SELECT synonym_name, table_owner, table_name FROM user_synonyms WHERE synonym_name = 'EM';
SYNONYM_NAME TABLE_OWNER TABLE_NAME
EM SCOTT EMP01
SQL> select * from syn where synonym_name = 'EM';
SYNONYM_NAME TABLE_OWNER TABLE_NAME DB_LINK
EM SCOTT EMP01
SQL> SELECT synonym_name, table_owner, table_name FROM all_synonyms WHERE synonym_name = 'EM';
SQL> select * from syn where synonym_name = 'EM';
SYNONYM_NAME TABLE_OWNER TABLE_NAME
EM SCOTT EMP01
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。