?? 12-2-10.cfm.htm
字號:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>給存儲過程傳值</title>
<meta name="GENERATOR" content="Microsoft FrontPage 3.0">
</head>
<body>
<font FACE="宋體"><b>
<p ALIGN="JUSTIFY">給存儲過程傳值</p>
</b></font><font FACE="宋體" SIZE="3">
<p ALIGN="JUSTIFY">當你調用一個存儲過程時,你可以使用參數來傳值給它,從而使你的存儲過程變得非常的靈活。比如,你想修改過程check_philosophers,使之能夠檢測是否存在某一個哲學家。你可以使用如下的語句進行修改:</p>
<p ALIGN="JUSTIFY">CREATE PROCEDURE check_philosophers</p>
<p ALIGN="JUSTIFY">(@philosopher VARCHAR(30))</p>
<p ALIGN="JUSTIFY">AS </p>
<p ALIGN="JUSTIFY">IF EXISTS(SELECT name FROM Philosophers WHERE </font><a
HREF="mailto:name=@philosopher"><font FACE="宋體" SIZE="3" COLOR="#0000ff"><u>name=@philosopher</u></font></a><font
FACE="宋體" SIZE="3">)</p>
<p ALIGN="JUSTIFY">PRINT </font><font SIZE="3">“</font><font FACE="宋體" SIZE="3">A
philosopher</font><font SIZE="3">”</p>
</font><font FACE="宋體" SIZE="3">
<p ALIGN="JUSTIFY">ELSE</p>
<p ALIGN="JUSTIFY">PRINT </font><font SIZE="3">“</font><font FACE="宋體" SIZE="3">Not
a philisopher</font><font SIZE="3">”</p>
</font><font FACE="宋體" SIZE="3">
<p ALIGN="JUSTIFY">當該過程執行時,它檢查傳遞給變量@philosopher的姓名是否存在于表Philosophers中。假如@philosopher的值存在于表中,打印文本</font><font
SIZE="3">“</font><font FACE="宋體" SIZE="3">A philosopher</font><font SIZE="3">”</font><font
FACE="宋體" SIZE="3">,否則打印文本</font><font SIZE="3">“</font><font
FACE="宋體" SIZE="3">Not a philisopher</font><font SIZE="3">”</p>
</font><font FACE="宋體" SIZE="3">
<p ALIGN="JUSTIFY">當你在存儲過程中包含參數時,你把它們列在CREATE
PROCEDURE語句的后面的括號內,但必須在關鍵詞AS之前。對于每一個參數,你都必須指明數據類型。在一個單獨的過程中,你最多能設置255個參數。比如下面的過程檢查是否在傳遞的姓名當中,至少有一個是哲學家的姓名:</p>
<p ALIGN="JUSTIFY">CREATE PROCEDURE check_philosophers</p>
<p ALIGN="JUSTIFY">(@firstname VARCHAR(30),@secondname VARCHAR(30))</p>
<p ALIGN="JUSTIFY">AS </p>
<p ALIGN="JUSTIFY">IF EXISTS(SELECT name FROM Philosophers </p>
<p ALIGN="JUSTIFY">WHERE </font><a HREF="mailto:name=@philosopher"><font FACE="宋體"
SIZE="3" COLOR="#0000ff"><u>name=@</u></font></a><font FACE="宋體" SIZE="3">firstname OR
name=@secondname)</p>
<p ALIGN="JUSTIFY">PRINT </font><font SIZE="3">“</font><font FACE="宋體" SIZE="3">At
least one of them is a philosopher</font><font SIZE="3">”</p>
</font><font FACE="宋體" SIZE="3">
<p ALIGN="JUSTIFY">ELSE</p>
<p ALIGN="JUSTIFY">PRINT </font><font SIZE="3">“</font><font FACE="宋體" SIZE="3">Neither
one of them is a philisopher</font><font SIZE="3">”</p>
</font><font FACE="宋體" SIZE="3">
<p ALIGN="JUSTIFY">為了執行一個具有一個或多個參數的存儲過程,你只需簡單地在存儲過程名稱的后面列出參數的值。比如下面的語句檢查Plato和Aristotle中是否至少有一個是哲學家:</p>
<p ALIGN="JUSTIFY">EXECUTE check_philisophers </font><font SIZE="3">“</font><font
FACE="宋體" SIZE="3">Plato</font><font SIZE="3">”</font><font FACE="宋體" SIZE="3">,</font><font
SIZE="3">”</font><font FACE="宋體" SIZE="3">Aristotle</font><font SIZE="3">”</p>
</font><font FACE="宋體" SIZE="3">
<p ALIGN="JUSTIFY">假如一個存儲過程具有多個參數。你必須以正確的順序來傳值。有時候這并不是很方便。你可以使用另一種方法,通過名稱來傳遞參數,如下所示:</p>
<p ALIGN="JUSTIFY">EXECUTE check_philisophers @firstname=</font><font SIZE="3">“</font><font
FACE="宋體" SIZE="3">Plato</font><font SIZE="3">”</font><font FACE="宋體" SIZE="3">,
@secondname=</font><font SIZE="3">”</font><font FACE="宋體" SIZE="3">Aristotle</font><font
SIZE="3">”</p>
</font><font FACE="宋體" SIZE="3">
<p ALIGN="JUSTIFY">該語句完成于前一語句完全相同的事情。然而通過使用參數名,你可以使用任何你想要的順序來傳遞參數。</p>
</font>
</body>
</html>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -