?? 12-2-9.cfm.htm
字號(hào):
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>使用SQL Enterprise Manager 創(chuàng)建存儲(chǔ)過(guò)程</title>
<meta name="GENERATOR" content="Microsoft FrontPage 3.0">
</head>
<body>
<font FACE="宋體"><b>
<p ALIGN="JUSTIFY">使用SQL Enterprise Manager 創(chuàng)建存儲(chǔ)過(guò)程</p>
</b></font><font FACE="宋體" SIZE="3">
<p ALIGN="JUSTIFY">假如你要?jiǎng)?chuàng)建一個(gè)復(fù)雜的存儲(chǔ)過(guò)程,使用SQL Enterprise
Manager要比ISQL/w要容易得多,該程序允許你更容易地修改存儲(chǔ)過(guò)程,它可以自動(dòng)為你刪除和重新創(chuàng)建存儲(chǔ)過(guò)程。</p>
<p ALIGN="JUSTIFY">要使用SQL Enterprise Manage來(lái)創(chuàng)建一個(gè)存儲(chǔ)過(guò)程。首先啟動(dòng)該程序,選擇你要用于存儲(chǔ)表的數(shù)據(jù)庫(kù),然后在菜單上選擇Manage|Manage
Stored Procedure,這時(shí)就會(huì)顯示如圖12。4所示的窗口。</p>
<p ALIGN="JUSTIFY">當(dāng)你第一次打開存儲(chǔ)過(guò)程管理對(duì)話框窗口時(shí),會(huì)自動(dòng)顯示文本CREATE
PROCEDURE <PROCEDURE NAME>。如果學(xué)過(guò)上面部分的內(nèi)容,你就會(huì)對(duì)該文本非常的熟悉。這是CREATE
PROCEDURE語(yǔ)句。替換<PROCEDURE NAME>成你所需要的名稱。</p>
<p ALIGN="JUSTIFY">在關(guān)鍵詞AS后面,你可以輸入組成你存儲(chǔ)過(guò)程的語(yǔ)句。比如,假設(shè)你在數(shù)據(jù)庫(kù)中有一個(gè)名為Philosophers的數(shù)據(jù)庫(kù)表,其中包含了一些哲學(xué)家的列表。下面的存儲(chǔ)過(guò)程在如果在數(shù)據(jù)庫(kù)中有Plato存在時(shí),會(huì)打印“Plato
is a philosopher</font><font SIZE="3">”</font><font FACE="宋體" SIZE="3">;否則它會(huì)打印“Plato
is not a philosopher”</p>
<p ALIGN="JUSTIFY">CREATE PROCEDURE check_philosophers AS</p>
<p ALIGN="JUSTIFY">IF EXISTS(SELECT name FROM Philosophers WHERE name=</font><font
SIZE="3">”</font><font FACE="宋體" SIZE="3">Plato</font><font SIZE="3">”</font><font
FACE="宋體" SIZE="3">)</p>
<p ALIGN="JUSTIFY">PRINT “Plato is a philosopher</font><font SIZE="3">”</p>
</font><font FACE="宋體" SIZE="3">
<p ALIGN="JUSTIFY">ELSE</p>
<p ALIGN="JUSTIFY">PRINT “Plato is not a philosopher”</p>
<p ALIGN="JUSTIFY">當(dāng)你已經(jīng)完成輸入存儲(chǔ)過(guò)程后,你可以點(diǎn)擊保存對(duì)象按鈕來(lái)保存之(它看起來(lái)象一個(gè)綠色的三角形)。</p>
<p ALIGN="JUSTIFY"><b>圖12.4 存儲(chǔ)過(guò)程管理對(duì)話框窗口</b></p>
<p><img SRC="Image102.gif" tppabs="http://210.74.168.175/guide/asp/part12/Image102.gif" WIDTH="536" HEIGHT="328" ALIGN="LEFT"> </p>
<p ALIGN="JUSTIFY"> <b></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">為了觀看在你第一次保存之后的存儲(chǔ)過(guò)程的文本,你需要在Procedure下拉菜單中再次選擇該存儲(chǔ)過(guò)程。SQL
Server會(huì)自動(dòng)在你的文檔中插入新的語(yǔ)句。比如,在保存完check_philosophesr過(guò)程之后,會(huì)顯示如下的文本:</p>
<p ALIGN="JUSTIFY">if exists (select * from sysobjects where id=object_id(</font><font
SIZE="3">‘</font><font FACE="宋體" SIZE="3">dbo.check_philisophers</font><font
SIZE="3">’</font><font FACE="宋體" SIZE="3">) and sysstat & 0xf=4)</p>
<p ALIGN="JUSTIFY">drop procedure dbo.check_philosophers</p>
<p ALIGN="JUSTIFY">GO</p>
<p ALIGN="JUSTIFY">CREATE PROCEDURE check_philosophers AS</p>
<p ALIGN="JUSTIFY">IF EXISTS(SELECT name FROM Philosophers WHERE name=</font><font
SIZE="3">”</font><font FACE="宋體" SIZE="3">Plato</font><font SIZE="3">”</font><font
FACE="宋體" SIZE="3">)</p>
<p ALIGN="JUSTIFY">PRINT “Plato is a philosopher</font><font SIZE="3">”</p>
</font><font FACE="宋體" SIZE="3">
<p ALIGN="JUSTIFY">ELSE</p>
<p ALIGN="JUSTIFY">PRINT “Plato is not a philosopher”</p>
<p ALIGN="JUSTIFY">GO</p>
<p ALIGN="JUSTIFY">為什么SQL Server要添加這些語(yǔ)句呢?這些語(yǔ)句是什么用的呢?這些添加的語(yǔ)句并不包含在存儲(chǔ)過(guò)程中。它們的使用是使存儲(chǔ)過(guò)程的使用變得更加容易。</p>
<p ALIGN="JUSTIFY">當(dāng)在過(guò)程中的第一個(gè)語(yǔ)句執(zhí)行時(shí),它檢查是否有存儲(chǔ)過(guò)程check_philosophers已經(jīng)存在于數(shù)據(jù)庫(kù)中。假如該過(guò)程已經(jīng)存在,語(yǔ)句會(huì)刪除該過(guò)程。這樣,假如你修改了你的存儲(chǔ)過(guò)程,然后點(diǎn)擊Save
Object按鈕時(shí),該語(yǔ)句會(huì)確保過(guò)程在修改后再次創(chuàng)建之前已經(jīng)被刪除了。</p>
<b>
<p ALIGN="JUSTIFY">注意</p>
</b></font><font SIZE="3">
<p ALIGN="JUSTIFY"></font><font FACE="宋體" SIZE="3">在修改你的存儲(chǔ)過(guò)程時(shí),注意不要?jiǎng)h除那些添加的語(yǔ)句。假如說(shuō)你刪除了第一個(gè)語(yǔ)句,你就不能正確地保存你的存儲(chǔ)過(guò)程。相反的,你就會(huì)獲得一個(gè)錯(cuò)誤信息告訴你,存儲(chǔ)過(guò)程已經(jīng)存在于數(shù)據(jù)庫(kù)中(假如你正處于這種情況下,你只需要用語(yǔ)句</font><font
SIZE="3">DROP PROCEDURE</font><font FACE="宋體" SIZE="3">來(lái)刪除前一版本)。</p>
<p ALIGN="JUSTIFY">使用SQL Enterprise Manager而不是ISQL/w來(lái)創(chuàng)建你的存儲(chǔ)過(guò)程的主要優(yōu)點(diǎn)是使用Enterprise
Manage可以在將來(lái)很容易地修改存儲(chǔ)過(guò)程,在已經(jīng)保存了存儲(chǔ)過(guò)程之后,你可以使用管理存儲(chǔ)過(guò)程對(duì)話框來(lái)選擇和修改它。使用ISQL/w在創(chuàng)建了存儲(chǔ)過(guò)程之后對(duì)其進(jìn)行修改是非常困難的。</p>
</font>
</body>
</html>
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -