標題:
[教學]
(PHP+IIS+MsSQL教學第32篇) 使用檢視表
[打印本頁]
作者:
小誌
時間:
2010-5-17 18:25
標題:
(PHP+IIS+MsSQL教學第32篇) 使用檢視表
使用檢視表
當我們利用mssql_query()函數對資料庫下達SQL指令後,會有資料(傳回資料集)回傳給我們程式,所以下列的敘述是可行的,範例ex09_09.php:
//資料庫存在,建立SQL命令字串
$SQL="SELECT * FROM 國文大於60";
//將回傳結果存放於變數中
$datalist=mssql_query($SQL);
//取得欄位數量
$fieldnum=mssql_num_fields($datalist);
複製代碼
好奇怪喔!在資料庫中並沒有「「國文大於60」的資料表耶!
執行程式可以看到「成績單」資料表中「國文」成績高於60分的同學名單:
[attach]591[/attach]
好神奇ㄚ!那個「國文大於60」到底是何方神聖ㄚ?它是一個SQL資料庫中的檢視表Views(等同Access資料庫的查詢物件),
[attach]592[/attach]
這個「國文大於60」的檢視表物件其實就是一段SQL指令敘述:
Select姓名,國文Where 國文>60
複製代碼
作者:
小誌
時間:
2010-5-17 18:28
建立檢視表物件
為什麼要建立檢視表物件?當我們程式中所需的SQL指令敘述很多,每次變動指令時都要打上一大段的敘述您不累嗎?所以,我們可以將一些常用的查詢結果先建立在資料庫中,並以「虛擬」資料表的方式將它儲存起來,像剛才示範的「國文大於60」就是小誌在資料庫中預先建立的一個檢視表物件。
那如何在資料庫中建立檢視表物件呢?小誌以STUDENT資料庫為例,建立一個SQL指令敘述為「Select 姓名,國文 From 成績單 Where 國文>90」的「國文大於90」檢視表物件來說明:
開啟企業管理員:「開始」=>「程式集」=>「Microsoft SQL Server」=>「Enterprise Manager」。
展開SQL Server群組,接著展開資料庫群組項目,在「STUDENT」資料庫項目上點擊一下。
[attach]593[/attach]
在「檢視表」資料庫項目上點選滑鼠右鍵,於快顯功能表上點選『新增檢視表』:
[attach]594[/attach]
點選『新增檢視表』項目後會進入『新增檢視表』視窗,視窗中包含:
圖表窗格:顯示建立檢視表的來源資料表欄位,我們可此選擇要成為檢視表欄位的資料表欄位。
檢視表窗格:顯示檢視表中的欄位。
SQL窗格:顯示用來定義檢視表的SQL指令敘述。
結果窗格:顯示SQL指令敘述執行後,在檢視表中的資料錄。
[attach]595[/attach]
修改SQL窗格中的SQL指令敘述「Select姓名,國文From 成績單 Where 國文>90」,按下「驗證SQL(圖示為文字SQL下方有個打勾符號)」按鈕,檢驗一下SQL指令敘述是否正確,如果檢驗無誤則會出現下圖:
[attach]596[/attach]
驗證SQL指令敘述後,接著按下「執行SQL(圖示為一個驚嘆號)」按鈕,此時結果窗格會顯示SQL指令敘述執行後,在檢視表中的資料錄。
[attach]597[/attach]
至此,我們已經完成檢視表物件的建立,直接按下『新增檢視表』視窗右上角的「X」關閉按鈕,此時會出現一個詢問視窗,提示我們剛剛所完成的檢視表物件物件內容還沒有存檔,請按下「是」按鈕,進行檢視表物件的命名與存檔:
[attach]598[/attach]
在接著出現的『另存為』對話視窗的「將資料檢視表儲存為」欄位中輸入「國文大於90分」,然後按下「確定」按鈕將檢視表物件儲存起來:
[attach]599[/attach]
回到資料庫視窗中,在「檢視表」項目上點選一下,您就可看見「國文大於90分」的檢視表出現在視窗中,恭喜您!已經成功的建立一個檢視表物件,可以讓Command物件使用了:
[attach]600[/attach]
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)