視圖的建立和使用,視圖建立使用
今天在敲學生查詢餘額表單的時候由於要對card_Info表和student同時查詢,將查詢內容返回到表單,所以用到了視圖,現在把視圖的建立方法分享一下:
首先,我們要知道視圖是什麼,有什麼作用。
視圖是一個虛擬表,其內容由查詢定義。同真實的表一樣,視圖包含一系列帶有名稱的列和行資料。但是,視圖並不在資料庫中以儲存的資料值集形式存在。行和列資料來自由定義視圖的查詢所引用的表,並且在引用視圖時動態產生。
對其中所引用的基礎資料表來說,視圖的作用類似於篩選。定義視圖的篩選可以來自當前或其他資料庫的一個或多個表,或者其他的視圖。通過視圖進行查詢沒有任何限制,通過視圖進行資料修改時的限制也很少。
現在我們來說一下視圖的建立:
我們可以用SQL語句:
<span style="font-size:18px;">CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}] VIEW [db_name.]view_name [(column_list)] AS select_statement [WITH [CASCADED | LOCAL] CHECK OPTION]</span>
或者根據下面的步驟建立視圖:
1、 首先在資料庫——視圖 右擊建立視圖
2、 添加視圖的基礎資料表,選擇要聯絡的欄位,兩個表中的相同的欄位為聯絡欄位,否則就會出現一個欄位和另一表中的所有欄位進行對應的結果。
3、 最後儲存(視圖的命名一般為V+“_”+名稱)
我們的視圖建好了,使用的時候就和平常的表一樣進行增刪改查,語句是一樣的,不過就是把表的名字改成視圖的名字。
<span style="font-size:18px;">''' <summary> ''' 學生查看餘額(建立視圖,利用視圖將兩個表結合起來進行查詢) ''' </summary> ''' <param name="rechargecash"></param> ''' <returns></returns> ''' <remarks></remarks> Public Function CashInquire(ByVal rechargecash As JFEntity.RegisterCardEntity) As List(Of JFEntity.RegisterCardEntity) Implements IRegisterCardDAL.CashInquire Dim sql As String Dim table As New DataTable Dim list As New List(Of JFEntity.RegisterCardEntity) Dim sqlparams As SqlParameter() = {New SqlParameter("@cardID", rechargecash.cardID)} sql = "select * from V_CashInquire where cardID=@cardID" table = SqlHelper.ExecSelect(sql, CommandType.Text, sqlparams) list = JFDAL.ModelHelper.convertTolist(Of JFEntity.RegisterCardEntity)(table) Return list End Function</span>
總結:我們的學習都是在一遍一遍的重複,剛開始只是在視頻和書中看到過視圖,但是沒有進行應用。現在進行第二遍機房了,把之前的知識一點一點的用上了,不怕不知道,就怕不知道。每個東西都有存在的意義,就像視圖,它的存在就讓查詢更簡單了,省了很多的代碼。所以我們要一步一步的往下走,因為好多困難都可以用我們之前學過的知識來解決,所以一切都不叫事!!fighting~
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。