返回列表 上一主題 發帖

[教學] (PHP+IIS+MsSQL教學第32篇) 使用檢視表

[教學] (PHP+IIS+MsSQL教學第32篇) 使用檢視表

使用檢視表
當我們利用mssql_query()函數對資料庫下達SQL指令後,會有資料(傳回資料集)回傳給我們程式,所以下列的敘述是可行的,範例ex09_09.php:
  1. //資料庫存在,建立SQL命令字串
  2.       $SQL="SELECT * FROM 國文大於60";
  3.       //將回傳結果存放於變數中
  4.       $datalist=mssql_query($SQL);
  5.       //取得欄位數量
  6.       $fieldnum=mssql_num_fields($datalist);
複製代碼
好奇怪喔!在資料庫中並沒有「「國文大於60」的資料表耶!
執行程式可以看到「成績單」資料表中「國文」成績高於60分的同學名單:
1.png
2010-5-17 18:25


好神奇ㄚ!那個「國文大於60」到底是何方神聖ㄚ?它是一個SQL資料庫中的檢視表Views(等同Access資料庫的查詢物件),
2.png
2010-5-17 18:25

這個「國文大於60」的檢視表物件其實就是一段SQL指令敘述:
  1. Select姓名,國文Where 國文>60
複製代碼
心安,平安   
發表任何無意義的感謝或灌水文章一律砍,珍惜帳號,請詳閱版規!!

建立檢視表物件
為什麼要建立檢視表物件?當我們程式中所需的SQL指令敘述很多,每次變動指令時都要打上一大段的敘述您不累嗎?所以,我們可以將一些常用的查詢結果先建立在資料庫中,並以「虛擬」資料表的方式將它儲存起來,像剛才示範的「國文大於60」就是小誌在資料庫中預先建立的一個檢視表物件。
那如何在資料庫中建立檢視表物件呢?小誌以STUDENT資料庫為例,建立一個SQL指令敘述為「Select 姓名,國文 From 成績單 Where 國文>90」的「國文大於90」檢視表物件來說明:

  • 開啟企業管理員:「開始」=>「程式集」=>「Microsoft SQL Server」=>「Enterprise Manager」。
  • 展開SQL Server群組,接著展開資料庫群組項目,在「STUDENT」資料庫項目上點擊一下。
    3.png
    2010-5-17 18:28


  • 在「檢視表」資料庫項目上點選滑鼠右鍵,於快顯功能表上點選『新增檢視表』:
    4.png
    2010-5-17 18:28

  • 點選『新增檢視表』項目後會進入『新增檢視表』視窗,視窗中包含:

    • 圖表窗格:顯示建立檢視表的來源資料表欄位,我們可此選擇要成為檢視表欄位的資料表欄位。
    • 檢視表窗格:顯示檢視表中的欄位。
    • SQL窗格:顯示用來定義檢視表的SQL指令敘述。
    • 結果窗格:顯示SQL指令敘述執行後,在檢視表中的資料錄。

    5.png
    2010-5-17 18:29


  • 修改SQL窗格中的SQL指令敘述「Select姓名,國文From 成績單 Where 國文>90」,按下「驗證SQL(圖示為文字SQL下方有個打勾符號)」按鈕,檢驗一下SQL指令敘述是否正確,如果檢驗無誤則會出現下圖:
    6.png
    2010-5-17 18:29


  • 驗證SQL指令敘述後,接著按下「執行SQL(圖示為一個驚嘆號)」按鈕,此時結果窗格會顯示SQL指令敘述執行後,在檢視表中的資料錄。
    7.png
    2010-5-17 18:29


  • 至此,我們已經完成檢視表物件的建立,直接按下『新增檢視表』視窗右上角的「X」關閉按鈕,此時會出現一個詢問視窗,提示我們剛剛所完成的檢視表物件物件內容還沒有存檔,請按下「是」按鈕,進行檢視表物件的命名與存檔:
    8.png
    2010-5-17 18:30


  • 在接著出現的『另存為』對話視窗的「將資料檢視表儲存為」欄位中輸入「國文大於90分」,然後按下「確定」按鈕將檢視表物件儲存起來:
    9.png
    2010-5-17 18:30


  • 回到資料庫視窗中,在「檢視表」項目上點選一下,您就可看見「國文大於90分」的檢視表出現在視窗中,恭喜您!已經成功的建立一個檢視表物件,可以讓Command物件使用了:
    10.png
    2010-5-17 18:31
心安,平安   
發表任何無意義的感謝或灌水文章一律砍,珍惜帳號,請詳閱版規!!

TOP

        靜思自在 : 不怕事多,只怕多事。
返回列表 上一主題