狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

SQL Server視圖的創建、修改和刪除

admin
2012年1月14日 17:17 本文熱度 3154

1、創建:


用戶可以在自己的模式中創建視圖,只要具有CREATE VIEW這個系統權限即可。如果希望在其他用戶的模式中創建視圖,則需要具有CREATE ANY VIEW系統權限。如果一個視圖的基表是其他用戶模式中的對象,那么當前用戶需要具有對這個基表的SELECT權限。


創建視圖的命令是CREATE VIEW,這條命令的格式為:


CREATE VIEW 視圖名 AS SELECT語句 WITH READ ONLY WITH CHECK OPTION;


其中最后兩個選項是可選的,其中“WITH READ ONLY”限定對視圖只能進行查詢操作,不能進行DML操作。“WITH CHECK OPTION”限定DML操作必須滿足一定的條件。


例如,下面的語句創建視圖view_1,它所代表的操作是查詢員工表中部門30的員工姓名、工資和獎金。


SQL> CREATE VIEW view_1 AS SELECT ename,sal,comm FROM emp WHERE deptno=30;


視圖view_2所代表的操作是查詢部門20和30中工資大于2000元的員工姓名、工資和獎金。創建這個視圖的CREATE語句為:



SQL> CREATE VIEW view_2 AS SELECT ename,sal,comm FROM emp WHERE (deptno=30 or deptno=20) and sal>2000


視圖被創建之后,可以通過DESC命令查看視圖的結構。查看視圖結構的方法與查看表的方法相同,查看的結果是列出視圖中各列的定義。


視圖的結構是在執行CREATE VIEW語句創建視圖時確定的,在默認情況下,列的名稱與SELECT之后基表的列名相同,數據類型和是否為空也繼承了基表中的相應列。如果希望視圖中的各列使用不同的名字,那么在創建視圖時,在視圖的名稱之后應該指定各列的名稱。例如,下面的語句重新創建視圖view_1,并為這個視圖指定了不同的名稱。


CREATE VIEW view_1(name,salary,comm1) AS SELECT ename,sal,comm FROM emp WHERE deptno=30;


如果執行DESC命令查看視圖view_1的結構,我們將發現視圖中各列的名稱就是在CREATE VIEW語句中指定的名稱,而數據類型和是否為空繼承了基表中的對應列。下面是執行DESC命令查看視圖view_1結構的結果:


SQL> DESC view_1; 名稱 是否為空? 類型 NAME NULL VARCHAR2(10) SALARY NULL NUMBER(7,2) COMM1 NULL NUMBER(7,2)


視圖作為一種數據庫對象,它的相關信息被存儲在數據字典中。與當前用戶的視圖有關的數據字典是USER_VIEWS,查詢這個數據字典,可以獲得當前用戶的視圖的相關信息。例如,需要查詢視圖VIEW_2中的相關信息,可以執行下面的SELECT語句:


SELECT text FROM user_views WHERE view_name='VIEW_2';


在列TEXT中存儲的是創建視圖時使用的SELECT語句。另外,在數據字典ALL_VIEWS存儲的是當前用戶可以訪問的所有視圖的信息,在數據字典DBA_VIEWS存儲的是系統中的所有視圖的信息,這個數據字典只有DBA可以訪問。


2、修改


如果發現視圖的定義不合適,可以對其進行修改。實際上視圖中的SELECT語句是不能直接修改的,所以修改視圖的一種方法是先刪除視圖,再重新創建,另一種方法是在創建視圖的CREATE語句中使用OR REPLACE選項。帶OR REPLACE選項的CREATE語句格式為:


CREATE OR REPLACE VIEW 視圖名 AS SELECT語句 WITH READ ONLY WITH CHECK OPTION;


這樣在創建視圖時,如果視圖不存在,則創建它。如果已經存在一個同名的視圖,那么先刪除這個視圖,然后再根據SELECT語句創建新視圖,用這個新視圖代替原來的視圖。


3、刪除


視圖在不需要時,可以將其從數據庫中刪除。刪除視圖的命令是DROP VIEW。用戶可以直接刪除自己創建的視圖,如果希望刪除其他用戶創建的視圖,則需要具有DROP ANY VIEW這個系統權限。DROP VIEW命令的格式為:


DROP VIEW視圖名;


例如,要刪除視圖view_1,可以執行下面的語句:


DROP VIEW view_1; 視圖被刪除后,相關的信息也被從數據字典中刪除。


該文章在 2012/1/14 17:17:48 編輯過

全部評論1

admin
2012年1月14日 17:30

視圖是SQL Server數據庫中的重要部分,下文對SQL Server創建視圖的語法的方法作了詳盡的闡述,希望對您能有所幫助。

SQL Server創建視圖是很常見的操作,下面就為您介紹SQL Server創建視圖的語法,如果您在SQL Server創建視圖方面遇到過問題,不妨一看。

SQL Server創建視圖的語法:

  1. CREATE VIEW
  2. [ < database_name > .] [ < owner > .]
  3. view_name [ ( column [ ,...n ] ) ]
  4. [ WITH < view_attribute > [ ,...n ] ]
  5. AS
  6. select_statement
  7. [ WITH CHECK OPTION ]
  8. < view_attribute > ::=
  9.  { ENCRYPTION │ SCHEMABINDING │
  10. VIEW_METADATA }

例1:建立顯示年齡大于20歲的學生學號、姓名、性別等信息的S_view1

  1. create view S_view1
  2. as
  3. select sno,sname,sex from s where age>20

例2:創建v_score1,要求基本表來源:S,C,SC;選擇的字段為:S表中的sno、sname;C表中的cname及SC表中score;要求查詢的數據為學號為20030001的學生的考試成績。

  1. Use s
  2. create view v_score1
  3. As
  4. Select s.sno,s.sname,c.cname,sc.score
  5. From s,c,sc
  6. Where s.sno=sc.sno and c.cno=sc.cno and sno=“20030001”

在查詢分析器中執行上面的程序,會生成視圖v_score1。為了查看視圖中的數據,在查詢分析器中輸入語句:

  1. select * from v_score1

該評論在 2012/1/14 17:30:37 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved