Board logo

標題: [教學] (PHP+IIS+MsSQL教學第32篇) 使用檢視表 [打印本頁]

作者: 小誌    時間: 2010-5-17 18:25     標題: (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分的同學名單:
[attach]591[/attach]

好神奇ㄚ!那個「國文大於60」到底是何方神聖ㄚ?它是一個SQL資料庫中的檢視表Views(等同Access資料庫的查詢物件),
[attach]592[/attach]
這個「國文大於60」的檢視表物件其實就是一段SQL指令敘述:
  1. Select姓名,國文Where 國文>60
複製代碼

作者: 小誌    時間: 2010-5-17 18:28

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





歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)