視圖sql類型
1. sqlserver創建了一個視圖 怎麼給視圖的其中一個欄位定義類型
case ccc when 0 then 0 else (2/ccc*100)end
修改為
case ccc when 0 then 0.0 else (2.0/ccc*100)end
2. 怎樣查看SQL視圖的欄位類型
oracle 的話,用PL/SQL Developer的話,郵件菜單中有個view選項,可以查看column的類型,限制條件,keys值
sql的話試下 desc [table name]
3. 視圖sql的功能
使用SQL視圖可以實現下列任一或所有功能:
1,將用戶限定在表中的特定行上。
例如,只允許雇員看見工作跟蹤表內記錄其工作的行。
2,將用戶限定在特定列上。
例如,對於那些不負責處理工資單的雇員,只允許他們看見雇員表中的姓名列、辦公室列、工作電話列、郵件列和部門列,而不能看見任何包含工資信息或個人信息的列。
3,將多個表中的列聯接起來,使它們看起來象一個表。
4,聚合信息而非提供詳細信息。
例如,顯示一個列的和,或列的最大值和最小值。 一個視圖可以引用另一個視圖。例如,titleview 顯示的信息對管理人員很有用,但公司通常只在季度或年度財務報表中才公布本年度截止到現在的財政數字。可以建立一個視圖,在其中包含除 au_ord 和 ytd_sales 外的所有 titleview 列。使用這個新視圖,客戶可以獲得已上市的書籍列表而不會看到財務信息:
CREATE VIEW Cust_titleview
AS
SELECT title, au_lname, price, pub_id
FROM titleview
視圖可用於在多個資料庫或 Microsoft® SQL Server™ 2000 實例間對數據進行分區。分區視圖可用於在整個伺服器組內分布資料庫處理。伺服器組具有與伺服器聚集相同的性能優點,並可用於支持最大的 Web 站點或公司數據中心的處理需求。原始表被細分為多個成員表,每個成員表包含原始表的行子集。每個成員表可放置在不同伺服器的資料庫中。每個伺服器也可得到分區視圖。分區視圖使用Transact-SQLUNION 運算符,將在所有成員表上選擇的結果合並為單個結果集,該結果集的行為與整個原始表的復本完全一樣。例如在三個伺服器間進行表分區。在第一個伺服器上定義如下的分區視圖:
CREATE VIEW PartitionedView AS
SELECT *
FROM MyDatabase.dbo.PartitionTable1
UNION ALL
SELECT *
FROM Server2.MyDatabase.dbo.PartitionTable2
UNION ALL
SELECT *
FROM Server3.MyDatabase.dbo.PartitionTable3
在其它兩個伺服器上定義類似的分區視圖。利用這三個視圖,三個伺服器上任何引用 PartitionedView 的 Transact-SQL 語句都將看到與原始表中相同的行為。似乎每個伺服器上都存在原始表的復本一樣,而實際上每個表只有一個成員表和分區視圖。有關更多信息,請參見視圖使用方案。
只要所做的修改隻影響視圖所引用的其中一個基表,就可以更新所有 SQL Server 版本內的視圖(可以對其執行 UPDATE、DELETE 或 INSERT 語句)。
-- Increase the prices for publisher '0736' by 10%.
UPDATE titleview
SET price = price * 1.10
WHERE pub_id = '0736'
GO
SQL Server 2000 支持可引用視圖的更復雜的 INSERT、UPDATE 和 DELETE 語句。可在視圖上定義 INSTEAD OF 觸發器,指定必須對基表執行的個別更新以支持 INSERT、UPDATE 或 DELETE 語句。另外,分區視圖還支持 INSERT、UDPATE 和 DELETE 語句修改視圖所引用的多個成員表。
索引視圖 是 SQL Server 2000 具有的功能,可顯著提高復雜視圖類型的性能,這些視圖類型通常在數據倉庫或其它決策支持系統中出現。
視圖的結果集通常不保存在資料庫中,因此視圖也稱為虛擬表。視圖的結果集動態包含在語句邏輯中並在運行時動態生成。有關更多信息,請參見視圖解析。
復雜的查詢(如決策支持系統中的查詢)可引用基表中的大量行,並將大量信息聚積在相對較簡潔的聚合中,如總和或平均值。SQL Server 2000 支持在執行此類復雜查詢的視圖上創建聚集索引。當執行 CREATE INDEX 語句時,視圖 SELECT 的結果集將永久存儲在資料庫中。SQL 語句此後若引用該視圖,響應時間將會顯著縮短。對基本數據的修改將自動反映在視圖中。
SQL Server 2000 CREATE VIEW 語句支持 SCHEMABINDING 選項,以防止視圖所引用的表在視圖未被調整的情況下發生改變。必須為任何創建索引的視圖指定 SCHEMABINDING。
4. SQL Server 2005系統允許創建的視圖類型分別是( )、索引視圖、分區視圖
系統視圖
5. SQL 的視圖模式
從根本上來說,視圖的目的只是為了給用戶提供一種更有效的查詢手段,不能進行增刪改的操作,除非是一個表的視圖,但是一個表的視圖意義有多大呢?
6. SQL視圖的定義和簡單使用
CREATE VIEW V1 AS
SELECT 課名,COUNT(*) AS 選課人數,AVG(成績) AS 平均成績
FROM 課程 JOIN 選課 ON 課程.課號=選課.課號
GROUP BY 課名
GO
SELECT TOP 1 *
FROM V1
ORDER BY 平均成績 DESC
7. SQL中表的類型
在SQL里,基本表的關鍵字是TABLE,是一張二維表,存放數據集的表。視圖的關鍵字是VIEW,視圖可以理解為虛擬表,里邊是不存放數據的,只是存放一條查詢語句,查詢視圖時顯示的數據都是從基本表中根據條件篩選出來的結果。 其具體定義如下:(1)所謂基本表,是這樣的一種表,它本身是實際存在的,每個表在存儲中可用一個存儲文件來表示(一個基本表就是一個關系),它不是由其他表導出的表。
(2)視圖是資料庫中的虛擬表,由一個或幾個基本表導出,用於讓用戶變換角度來操作基本表。資料庫中只保存視圖的定義,視圖中不存放對應的數據。 (3)導出表:在基本表的基礎上通過定義視圖而生成的表,稱為導出表。導出表是虛表,其本身不存儲於資料庫中,資料庫僅在數據字典中存儲其定義。
視圖(view)是在基本表之上建立的表,它的結構(即所定義的列)和內容(即所有數據行)都來自基本表,它依據基本表存在而存在。一個視圖可以對應一個基本表,也可以對應多個基本表。視圖是基本表的抽象和在邏輯意義上建立的新關系
8. 在sql資料庫里的視圖是什麼意思,怎麼理解
視圖為原始資料庫數據的一種變換,是查看錶中數據的另外一種方式。可以將視圖看成是一個移動的窗口,通過它可以看到感興趣的數據。視圖為從一個或多個實際表中獲得的,這些表的數據存放在資料庫中。那些用於產生視圖的表叫做該視圖的基表。一個視圖也可以從另一個視圖中產生。
視圖的定義存在資料庫中,與此定義相關的數據並沒有再存一份於資料庫中。通過視圖看到的數據存放在基表中。
(8)視圖sql類型擴展閱讀
視圖有很多優點,主要表現在:
1、視點集中
使用戶只關心它感興趣的某些特定數據和他們所負責的特定任務。這樣通過只允許用戶看到視圖中所定義的數據而不是視圖引用表中的數據而提高了數據的安全性。
2、簡化操作
視圖大大簡化了用戶對數據的操作。因為在定義視圖時,若視圖本身就是一個復雜查詢的結果集,這樣在每一次執行相同的查詢時,不必重新寫這些復雜的查詢語句,只要一條簡單的查詢視圖語句即可。可見視圖向用戶隱藏了表與表之間的復雜的連接操作。
3、定製數據
視圖能夠實現讓不同的用戶以不同的方式看到不同或相同的數據集。因此,當有許多不同水平的用戶共用同一資料庫時,這顯得極為重要。
4、合並分割數據
在有些情況下,由於表中數據量太大,故在表的設計時常將表進行水平分割或垂直分割,但表的結構的變化卻對應用程序產生不良的影響。如果使用視圖就可以重新保持原有的結構關系,從而使外模式保持不變,原有的應用程序仍可以通過視圖來重載數據。
5、安全性
視圖可以作為一種安全機制。通過視圖用戶只能查看和修改他們所能看到的數據。其它資料庫或表既不可見也不可以訪問。如果某一用戶想要訪問視圖的結果集,必須授予其訪問許可權。視圖所引用表的訪問許可權與視圖許可權的設置互不影響。
9. 視圖sql的定義
在下例中,pubs 資料庫中的 titleview 是一個視圖,該視圖選擇三個基表中的數據來顯示包含常用數據的虛擬表:
CREATE VIEW titleview
AS
SELECT title, au_ord, au_lname, price, ytd_sales, pub_id
FROM authors AS a
JOIN titleauthor AS ta ON
JOIN titles AS t ON (t.title_id = ta.title_id)
之後,可以用引用表時所使用的方法在語句中引用 titleview。
SELECT *
FROM titleview 1,在索引視圖中,不能使用*號,必具指定所有結果集中的列名。
2,在索引視圖中,所有用到的表前都必須加表所屬的架構dbo。
3,在索引視圖中不能有重復的列(其實在普通視圖中也有該限制)
4,在索引視圖中只能創建唯一聚集索引。
10. 請問SQL中視圖與查詢的區別
SQL中視圖與查詢的區別為:功能不同、歸屬不同、數據來源不同。
一、功能不同
1、視圖:視圖可以更新欄位內容並返回原表。
2、查詢:查詢文件中的記錄數據不能修改。
二、歸屬不同
1、視圖:視圖不是一個獨立的文件,它保存在資料庫中。
2、查詢:查詢是一個獨立的文件,不屬於資料庫。
三、數據來源不同
1、視圖:視圖的數據來源可以是本地數據源,也可以是遠程數據源。
2、查詢:查詢的數據來源只有本地數據源,不能訪問遠程數據源。