Oracle 筆記(十)、視圖、同義字、序列

來源:互聯網
上載者:User

一、視圖
二、同義字
三、序列

一、視圖
    視圖是一條儲存起來的 SELECT 語句,是資料的顯示方式,通過視圖可以限制使用者訪問行、列、或更新表內容。

1.1、基表
組成視圖的表稱為基表。在 Oracle 中,不能對有多個基表的視圖進行更新,此類操作可以利用"替換觸發器"完成。

1.2、視圖的更新約束
[WITH CHECK OPTION] 選項可以約束 對視圖更新值 符合 視圖的WHERE條件。

1.3、唯讀約束
[WITH READ ONLY] 選項和 視圖查詢語句包含 GROPU BY/SUM 等彙總函式、DISTINCT 關鍵字時視圖不允許更新。

1.4、查看視圖內容
DESC user_views;
SELECT text FROM user_views WHERE view_name='V_READ';

一個視圖的例子:

CREATE OR REPLACE VIEW myview
AS
SELECT * FROM books WHERE price>30
WITH CHECK OPTION;
/* 當利用視圖插入一個 price<=30 的資料時會報錯 */

二、同義字
同義字是一個對象的一個別名,利用同義字,可以方便的操縱不同使用者模式下的對象,簡化編碼。

使用同義字之前要確保使用者擁有訪問該對象的許可權。
當公有對象(公有同義字)和本機物件具有相同的名稱時,本機物件優先。

● 公有同義字:DBA建立,所有使用者共同擁有。CREATE PUBLIC SYNONYM ...
● 私人同義字:使用者建立,使用與該使用者(對象,可被授權)。

CREATE OR REPLACE SYNONYM dept  FOR scott.dept;
SELECT * FROM dept;

DESC user_synonyms;
SELECT synonym_name, table_name, table_owner FROM user_synonyms;

三、序列
    序列是用來產生唯一、連續的整數的資料庫物件。它通常用來自動產生主鍵或唯一鍵。序列可以按升序、降序排列。
序列是一個獨立型事務,不受提交或復原事務影響。

3.1、建立

CREATE SEQUENCE sequence_name
  [START WITH integer]            /* 序列起始值,升序預設為最小值,降序預設為最大值 */
  [INCREMENT BY integer]        /* 遞增量,預設為 1, */
  [MAXVALUE integer | NOMAXVALUE]    /* 最大值,預設為 NOMAXVALUE */
  [MINVALUE integer | NOMINVALUE]    /* 最小值,必須小於等於起始值和 小於最大值 */
  [CYCLE | NOCYCLE]            /* 序列到達最大值後是否迴圈,預設為 NOCYCLE 不迴圈 */
  [CACHE integer | NOCACHE];        /* 是否預分配序號,預設緩衝20個序號 */

3.2、訪問
  NEXTVAL 偽列:返回一個新的序列值。
  CURRVAL 偽列:記憶體中最後一次引用 NEXTVAL 的傳回值,也就是序列的當前值。

INSERT INTO t1 VALUES(t1_seq.NEXTVAL, 'aaa');
SELECT t1_seq.CURRVAL FROM dual;

3.3、修改
    序列建立後只能修改 最大/最小值、增量值、序號緩衝大小,不能修改起始值,並且保證序列最大/最小值符合規則。

3.4、查看
DESC user_sequences;
SELECT * FROM user_sequences WHERE SEQUENCE_NAME = 'T1_SEQ';

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.