?? 12-1.cfm.htm
字號:
<html>
<head>
<title>在10章“基礎SQL”和11章“中級SQL”中,你已經學習了如何一次執行一個SQL語句</title>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb_2312-80">
<meta NAME="GENERATOR" CONTENT="Microsoft FrontPage 3.0">
</head>
<body>
<font FACE="宋體" SIZE="3">
<p ALIGN="JUSTIFY">在10章“基礎SQL”和11章“中級SQL”中,你已經學習了如何一次執行一個SQL語句。在本章中你將會學習如何一次執行一組SQL語句。這樣你就可以象對傳統的編程語言一樣對SQL進行處理。在本章中,你將會學會如何創建存儲過程,觸發器和計劃任務。</p>
<p ALIGN="JUSTIFY">首先,你要學習SQL Server Web
助理。該程序能夠根據存儲在數據庫表內的信息自動地創建靜態網頁。</p>
</font><font FACE="宋體" SIZE="5"><b>
<p ALIGN="JUSTIFY">使用SQL Server Web 助理</p>
</b></font><font FACE="宋體" SIZE="3">
<p ALIGN="JUSTIFY">在本書的下一部分,你將會學習到如何使用Active Server
Pages創建由數據庫的信息動態生成的網頁。當你需要顯示變化迅速的數據庫信息時,你必須使用ASP腳本來接收這些信息。然而在某些情況下,使用ASP腳本顯示數據庫信息的效率是非常低的。</p>
<p ALIGN="JUSTIFY">比如,假設你的網站包含一個具有其他一些網站的目錄,有一個網頁顯示到你喜歡網站連接的列表,比如Yahoo!和Microsoft等。現在假定該網頁并不經常改變,最多你在大約一個星期的時間內添加一個新的連接。你可以在有訪問者訪問此頁時通過使用ASP腳本讀取存儲在數據庫表中的連接列表而動態地產生該頁。該策略能確保該網頁總是能夠顯示最新的信息。但是,考慮到該網頁的內容并不是經常的變化,該方案并不最優。</p>
<p ALIGN="JUSTIFY">Active Server Pages消耗計算機的資源。使用ASP腳本來打開數據庫連接和執行查詢會花費時間和增加數據庫服務器的負擔。更進一步,你的處理器也要為執行腳本而工作。由于在該網頁上的內容并不經常改變,所以這些對服務器造成的負擔是不必要的。另外,一個更有效的方案是僅當數據庫的內容發生改變時才生成該網頁。或者在一定的時間之后生成該網頁。該網頁并不需要在每一次有人訪問此頁時進行更新。你真正需要的是在某一時刻自動地創建該靜態網頁。</p>
<p ALIGN="JUSTIFY">使用SQL Server Web
助理,你可以從數據庫表中自動的生成網頁。你可以有三種方式來生成網頁:一次生成,基于計劃或當表內的內容改變時。下一部分將詳細描述如何生成網頁。</p>
</font><font FACE="宋體"><b>
<p ALIGN="JUSTIFY">使用SQL Server Web 助理創建網頁</p>
</b></font><font FACE="宋體" SIZE="3">
<p ALIGN="JUSTIFY">本部分將一步一步的介紹如何使用SQL Server Web
助理。你將學會如何創建顯示到你所喜歡網站連接的網頁。該網頁當表內的數據發生改變時會自動進行更新。</p>
<p ALIGN="JUSTIFY">在進行下面的工作之前,你需要創建一個包含你所喜歡網站信息的表。在ISQL/w中執行下面的SQL語句創建該表:</p>
<p ALIGN="JUSTIFY">CREATE TABLE site_directory(site_name VARCHAR(30), site_URL
VARCHAR(30), site_desc VARCHAR(100))</p>
<p ALIGN="JUSTIFY">該網頁創建了一個名稱為site_directory的表,表中有三列:site_name,site_url和site_desc。這三列包含了網站名稱,URL和對該網站的簡單描述。為了自動地根據該表的內容生成顯示你喜歡的連接的網頁。請按以下五個步驟進行:</p>
<blockquote>
<p ALIGN="JUSTIFY">從SQL Server程序組里啟動SQL Server Web
助理。該程序在啟動時,會要你輸入登錄信息。輸入你的SQL Server名稱,你的用戶ID,和你的密碼。(假如你在使用集成或混合模式,你可以使用信任連接登錄)。點擊Next按鈕進入下一步。</p>
<p ALIGN="JUSTIFY">在該步中,首先出現對話框要你指明如何為該網頁選擇數據。選中“Enter
a Query as Free-Form Text”選項。這時在這些圓形按鈕下面就會出現一個空的文本窗口(見圖12.1)。選擇表site_directory所在的數據庫。在文本窗口中輸入如下的SQL語句:</p>
<blockquote>
<p ALIGN="JUSTIFY">SELECT * FROM site_directory ORDERED BY site_name</p>
<p ALIGN="JUSTIFY">該查詢語句會讀取表site_directory中所有的記錄,并把這些結果以字母順序排列。點擊“Next</font><font
SIZE="3">”</font><font FACE="宋體" SIZE="3">進入下一步。</p>
<p ALIGN="JUSTIFY"><b>圖12.1 SQL Server Web Assistant-查詢對話框</b></p>
<p><img SRC="Image99.gif" tppabs="http://210.74.168.175/guide/asp/part12/Image99.gif" WIDTH="576" HEIGHT="441" ALIGN="LEFT"> <b></p>
<p ALIGN="JUSTIFY"> </p>
<p ALIGN="JUSTIFY"> </p>
<p ALIGN="JUSTIFY"> </p>
<p ALIGN="JUSTIFY"> </p>
<p ALIGN="JUSTIFY"> </p>
<p ALIGN="JUSTIFY"> </p>
<p ALIGN="JUSTIFY"> </p>
<p ALIGN="JUSTIFY"> </p>
<p ALIGN="JUSTIFY"> </p>
<p ALIGN="JUSTIFY"> </p>
<p ALIGN="JUSTIFY"> </p>
<p ALIGN="JUSTIFY"> </p>
<p ALIGN="JUSTIFY"> </p>
<p ALIGN="JUSTIFY"> </p>
</blockquote>
</b><p ALIGN="JUSTIFY">在該步中,你要對所采用的計劃進行選擇。你的選擇有:立刻創建網頁,稍后創建網頁,當數據改變時創建網頁,在星期的某一天創建網頁和當某一常規表達式成立時創建網頁。在下拉菜單中選中“When
Data Changes</font><font SIZE="3">”</font><font FACE="宋體" SIZE="3">。在你做完上面的工作后,就會出現一個在數據庫中所有表的列表。在列表中選擇表“site_directory”。這樣只有當表“site_directory</font><font
SIZE="3">”</font><font FACE="宋體" SIZE="3">的內容發生變化時才創建新的網頁。點擊</font><font
SIZE="3">”</font><font FACE="宋體" SIZE="3">Next</font><font SIZE="3">”</font><font
FACE="宋體" SIZE="3">進入下一步。</p>
<p ALIGN="JUSTIFY">在本步中,首先會問及有關產生的文件的問題(見圖12.2)。使用Favorites.cfm作為你網頁的文件名。你必須在文件名內包含網站目錄的路徑。一般的,該路徑為c:\InetPub\wwwroot\Favorites.cfm。為了定制該網頁,選中按鈕“The
Following Information</font><font SIZE="3">”</font><font FACE="宋體" SIZE="3">,輸入標題“Favorite
Web Sites”做為該網頁的標題。輸入標頭“web site list”做為你查詢結果的標頭。選中“No”指明你不想包含URL連接和參考文本(這是缺省選擇)。點擊“Next”進入下一步。</p>
<b><p ALIGN="JUSTIFY">圖12.2 確定文件選項</p>
<p><img SRC="Image100.gif" tppabs="http://210.74.168.175/guide/asp/part12/Image100.gif" WIDTH="576" HEIGHT="440" ALIGN="LEFT"> </p>
<p ALIGN="JUSTIFY"> </p>
</b><p ALIGN="JUSTIFY"> </p>
<p ALIGN="JUSTIFY"> </p>
<p ALIGN="JUSTIFY"> </p>
<p ALIGN="JUSTIFY"> </p>
<p ALIGN="JUSTIFY"> </p>
<p ALIGN="JUSTIFY"> </p>
<p ALIGN="JUSTIFY"> </p>
<p ALIGN="JUSTIFY"> </p>
<p ALIGN="JUSTIFY"> </p>
<p ALIGN="JUSTIFY"> </p>
<p ALIGN="JUSTIFY"> </p>
<p ALIGN="JUSTIFY"> </p>
<p ALIGN="JUSTIFY"> </p>
<p ALIGN="JUSTIFY">最后一步讓你控制網頁產生的格式,你可以選擇不同的列尺寸,查詢結果的格式。最后,你還可以指明該網頁是否包含它最后一次生成的時間,日期。列的標題,查詢結果的限制等。不要改變它們的缺省設置,點擊“Finish”完成。</p>
</blockquote>
<p ALIGN="JUSTIFY">HTML文件Favorites.cfm將在表site_directory內的數據發生變化時生成。初始狀態下,該文件并不存在,因為目前該表內的數據并不發生變化。執行下面的SQL語句向表中添加數據:</p>
<p ALIGN="JUSTIFY">INSERT site_directory (site_name ,site_URL ,site_desc ) values ( </font><font
SIZE="3">‘</font><font FACE="宋體" SIZE="3">Microsoft</font><font SIZE="3">’</font><font
FACE="宋體" SIZE="3"> , </font><font SIZE="3">’</font><font FACE="宋體" SIZE="3">www.microsoft.com
</font><font SIZE="3">‘</font><font FACE="宋體" SIZE="3">,</font><font SIZE="3">’</font><font
FACE="宋體" SIZE="3">the creator of ASP</font><font SIZE="3">’</font><font
FACE="宋體" SIZE="3">)</p>
<p ALIGN="JUSTIFY">該語句向site_directory表中添加一條記錄。假如你現在查看Web目錄,你就會找到文件Favorites.cfm。在Web瀏覽器內觀看該文件,其結果如圖12.3所示。</p>
<b>
<p ALIGN="JUSTIFY">圖12.3 查詢結果</p>
<p><img SRC="Image101.gif" tppabs="http://210.74.168.175/guide/asp/part12/Image101.gif" WIDTH="524" HEIGHT="424" ALIGN="LEFT"> </b></p>
</font><font FACE="宋體"><b>
<p ALIGN="JUSTIFY"> </p>
</b></font>
<p ALIGN="JUSTIFY"><font FACE="宋體"><b> </b></font></p>
<p ALIGN="JUSTIFY"><font FACE="宋體"><b> </b></font></p>
<p ALIGN="JUSTIFY"><font FACE="宋體"><b> </b></font></p>
<p ALIGN="JUSTIFY"><font FACE="宋體"><b> </b></font></p>
<p ALIGN="JUSTIFY"><font FACE="宋體"><b> </b></font></p>
<p ALIGN="JUSTIFY"><font FACE="宋體"><b> </b></font></p>
<p ALIGN="JUSTIFY"><font FACE="宋體"><b> </b></font></p>
<p ALIGN="JUSTIFY"><font FACE="宋體"><b> </b></font></p>
<p ALIGN="JUSTIFY"><font FACE="宋體"><b> </b></font></p>
<p ALIGN="JUSTIFY"><font FACE="宋體"><b> </b></font></p>
<p ALIGN="JUSTIFY"><font FACE="宋體"><b> </b></font></p>
<p ALIGN="JUSTIFY"><font FACE="宋體"><b> </b></font></p>
<p ALIGN="JUSTIFY"><font FACE="宋體"><b>SQL Server Web 助理的工作原理</b></font></p>
<font FACE="宋體" SIZE="3">
<p ALIGN="JUSTIFY">你可能想知道SQL Server Web
助理是如何工作的。你能夠選擇讓該程序基于某計劃或當表中的數據發生變化時產生該網頁,web助理是如何做到這一點的呢?</p>
<p ALIGN="JUSTIFY">SQL Server Web 助理使用了SQL Server
的存儲過程、觸發器和計劃任務。在創建Web頁時,該程序使用了三個名稱分別為sp_makewebtask,sp_runwebtask和sp_endwebtask三個存儲過程。實際上正是這三個存儲過程創建了網頁。</p>
<b>
<p ALIGN="JUSTIFY">注意</p>
</b></font><font SIZE="3">
<p ALIGN="JUSTIFY"></font><font FACE="宋體" SIZE="3">三個存儲過程</font><font
SIZE="3">sp_makewebtask,sp_runwebtask</font><font FACE="宋體" SIZE="3">和</font><font
SIZE="3">sp_endwebtask</font><font FACE="宋體" SIZE="3">可以不通過</font><font
SIZE="3">SQL Server web</font><font FACE="宋體" SIZE="3">助理直接在</font><font
SIZE="3">ISQL/w</font><font FACE="宋體" SIZE="3">上執行。</p>
<p ALIGN="JUSTIFY"> </p>
<p ALIGN="JUSTIFY">為了檢測在表中的數據發生變化。SQL Server Web
助理使用了觸發器(triggers)。觸發器就是一系列的SQL語句,它們在表內的數據進行更新,刪除和插入時執行。比如,當你向表site_directory內插入數據時,一個能產生Favorites.cfm的觸發器就會執行。最后為了創建基于計劃的網頁,SQL
Server web助理使用了計劃任務(schedule task)。比如你能夠通過web助理按計劃每星期重新生成Favorites.cfm文件。為了完成你的任務,web助理會創建一個計劃任務,每個星期定時執行。</p>
<p ALIGN="JUSTIFY">本章的余下部分將向你解釋如何創建自己的存儲過程、觸發器、和計劃任務。這些能夠讓你根據客戶的行為或時間事件對你的數據表執行非常復雜的操作。為了能夠做到這一點,首先你必須擴充你的</font><font
SIZE="3">SQL</font><font FACE="宋體" SIZE="3">知識。允許你象處理傳統編程語言一樣處理</font><font
SIZE="3">SQL</font><font FACE="宋體" SIZE="3">語言。</p>
</font>
</body>
</html>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -