當前位置:首頁 » 服務存儲 » 視圖中能包含存儲嗎
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

視圖中能包含存儲嗎

發布時間: 2022-07-11 07:24:15

1. 視圖和存儲過程有什麼區別,什麼時候用視圖和存儲過程

1、存儲過程是程序化的sql可以實現一般sql不能實現的功能。
如:先檢索一個表得到一些數據,經過一定的編輯後更新到另外一個表中、這就可以用不帶參數的存儲過程實現。
2、視圖是虛擬表,不存儲數據,存儲的是sql,檢索他的時候實際上是執行定義它的sql語句。

2. 視圖的作用是什麼

視圖作用:

1,簡單性。看到的就是需要的。視圖不僅可以簡化用戶對數據的理解,也可以簡化他們的操作。那些被經常使用的查詢可以被定義為視圖,從而使得用戶不必為以後的操作每次指定全部的條件。

2, 安全性。通過視圖用戶只能查詢和修改他們所能見到的數據。但不能授權到資料庫特定行和特定的列上。

通過視圖,用戶可以被限制在數據的不同子集上:使用許可權可被限制在另一視圖的一個子集上,或是一些視圖和基表合並後的子集上。

3, 邏輯數據獨立性。視圖可幫助用戶屏蔽真實表結構變化帶來的影響。

(2)視圖中能包含存儲嗎擴展閱讀:

視圖優點:

1. 視點集中

視圖集中即是使用戶只關心它感興趣的某些特定數據和他們所負責的特定任務。這樣通過只允許用戶看到視圖中所定義的數據而不是視圖引用表中的數據而提高了數據的安全性。

2. 簡化操作

視圖大大簡化了用戶對數據的操作。因為在定義視圖時,若視圖本身就是一個復雜查詢的結果集,這樣在每一次執行相同的查詢時,不必重新寫這些復雜的查詢語句,只要一條簡單的查詢視圖語句即可。可見視圖向用戶隱藏了表與表之間的復雜的連接操作。

3. 定製數據

視圖能夠實現讓不同的用戶以不同的方式看到不同或相同的數據集。因此,當有許多不同水平的用戶共用同一資料庫時,這顯得極為重要。

4. 合並分割數據

在有些情況下,由於表中數據量太大,故在表的設計時常將表進行水平分割或垂直分割,但表的結構的變化卻對應用程序產生不良的影響。如果使用視圖就可以重新保持原有的結構關系,從而使外模式保持不變,原有的應用程序仍可以通過視圖來重載數據。

5. 安全性

視圖可以作為一種安全機制。通過視圖用戶只能查看和修改他們所能看到的數據。其它資料庫或表既不可見也不可以訪問。如果某一用戶想要訪問視圖的結果集,必須授予其訪問許可權。視圖所引用表的訪問許可權與視圖許可權的設置互不影響。

3. 資料庫中創建視圖和索引還有存儲過程起什麼作用

視圖可以被看成是虛擬表或存儲查詢。可通過視圖訪問的數據不作為獨特的對象存儲在資料庫內。資料庫內存儲的是 SELECT 語句。SELECT 語句的結果集構成視圖所返回的虛擬表。用戶可以用引用表時所使用的方法,在 Transact-SQL 語句中通過引用視圖名稱來使用虛擬表。使用視圖可以實現下列任一或所有功能:

將用戶限定在表中的特定行上。
例如,只允許雇員看見工作跟蹤表內記錄其工作的行。

將用戶限定在特定列上。
例如,對於那些不負責處理工資單的雇員,只允許他們看見雇員表中的姓名列、辦公室列、工作電話列和部門列,而不能看見任何包含工資信息或個人信息的列。

將多個表中的列聯接起來,使它們看起來象一個表。

聚合信息而非提供詳細信息。
例如,顯示一個列的和,或列的最大值和最小值。
------------------
資料庫中的索引與書籍中的索引類似。在一本書中,利用索引可以快速查找所需信息,無須閱讀整本書。在資料庫中,索引使資料庫程序無須對整個表進行掃描,就可以在其中找到所需數據。
------------------
存儲過程可以使得對資料庫的管理、以及顯示關於資料庫及其用戶信息的工作容易得多。存儲過程是 SQL 語句和可選控制流語句的預編譯集合,以一個名稱存儲並作為一個單元處理。存儲過程存儲在資料庫內,可由應用程序通過一個調用執行,而且允許用戶聲明變數、有條件執行以及其它強大的編程功能。

存儲過程可包含程序流、邏輯以及對資料庫的查詢。它們可以接受參數、輸出參數、返回單個或多個結果集以及返回值。

可以出於任何使用 SQL 語句的目的來使用存儲過程,它具有以下優點:

可以在單個存儲過程中執行一系列 SQL 語句。

可以從自己的存儲過程內引用其它存儲過程,這可以簡化一系列復雜語句。

存儲過程在創建時即在伺服器上進行編譯,所以執行起來比單個 SQL 語句快。

4. 什麼叫基本表什麼是視圖二者的區別和聯系是什麼

基本表是資料庫中用來存儲數據的對象,是有結構的數據的集合,是整個資料庫系統的基礎。數據在表中式按行和列的格式組織排列的。

視圖是計算機資料庫中的一個虛擬表,其內容由查詢定義。同真實的表一樣,視圖包含一系列帶有名稱的列和行數據。但是,視圖並不在資料庫中以存儲的數據值集形式存在。

基本表、視圖區別為:存在不同、存儲內容不同、操作不同。視圖是由一個或幾個基本表導出形成的虛表。

一、存在不同

1、基本表:基本表是本身獨立存在的表。

2、視圖:視圖本身不存在獨立存儲在資料庫中,是一個虛表。

二、存儲內容不同

1、基本表:基本表存儲的內容是實際的數據。

2、視圖:視圖存儲的內容只有存儲定義,不存放實際數據。

三、操作不同

1、基本表:操作者可以對基本表進行增刪改查四種操作。

2、視圖:操作者只可以對視圖進行查操作,不能進行增刪改操作。

參考資料來源:

網路——表

網路——視圖

5. sql中的視圖與存儲過程有什麼不同的

sql中視圖(view)和存儲過程(procere)的區別:
View本身就是顯示一個表格,View可以顯示出表格,但是VIEW本身並沒有包括任何數據,view也不接受參數,所以其實view就是一個虛擬的表格,而不是實際的,所以在需要參數的時候,需要提前在建立view的時候定義好。VIEW一般是給外部非專業IT人員使用,因為你可以隨意修改名稱並限定輸出的內容。
Procere就像是執行子查詢表格,接受參數,你可以用where或者order
by這樣的參數經行進一步的定義
Procere被定義出來之後,非常的方便,下次如果需要調用相同的命令,就直接把procere名字打上去就能顯示結果,通常為內部人員使用。

6. ORACLE視圖中能包含存儲過程嗎

視圖中應該是可以使用單值函數的,至於存儲過程肯定不能使用

7. SQL中可不可以在視圖上創建存儲過程

儲存過程跟你使用的是表還是視圖沒有關系呀,也就是說兩者都可以。

8. SQL中視圖的定義與作用是什麼做好結合實例講解一下,視圖能存儲數據嗎與表有什麼區別

從用戶角度來看,一個視圖是從一個特定的角度來查看資料庫中的數據。從資料庫系統內部來看,一個視圖是由SELECT語句組成的查詢定義的虛擬表。從資料庫系統內部來看,視圖是由一張或多張表中的數據組成的,從資料庫系統外部來看,視圖就如同一張表一樣,對表能夠進行的一般操作都可以應用於視圖,例如查詢,插入,修改,刪除操作等。
更多視圖的知識,請在這里查看
http://ke..com/view/71981.htm

語法
CREATE VIEW view [(field1[, field2[, ...]])] AS selectstatement
CREATE VIEW 語句可分為以下幾個部分:
部分 說明
view 欲創建的索引的名稱。
field1, field2 選擇語句中標明的相應欄位名.

示例:
CREATE VIEW Customers
AS
SELECT *
FROM CompanyData.dbo.Customers_33

9. SQL 視圖能否執行存儲過程及視圖是否能定義變數Declare @Date Datetime

視圖和存儲過程是兩種不同的執行,視圖不能執行存儲過程,由於不能執行存儲過程自然也就不能定義變數Declare @Date Datetime

10. 視圖並不存儲數據,每次查看視圖時,視圖中的數據來源於基礎表,這句話錯在哪

視圖的數據不是在每次查看的時候才生成,而是在數據有更新的時候就觸發更新了吧