⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 12-2-11.cfm.htm

📁 最全的ASP教程
💻 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">你可以从存储过程中接受值。这些值可以直接在你的Active 
Server Pages中使用(参看第24章“使用Commands</font><font SIZE="3">”</font><font
FACE="宋体" SIZE="3">)。同样,你可以在其他的存储过程中获得这些值。假如第一个过程调用了第二个存储过程,则第一个过程能接受有第二个过程设置的参数值。</p>

<p ALIGN="JUSTIFY">例如,下面的存储过程输出变量@conclusion的值:</p>

<p ALIGN="JUSTIFY">CREATE PROCEDURE check_philosophers</p>

<p ALIGN="JUSTIFY">(@philosopher VARCHAR(30),@conclusion VARCHAR(30) OUTPUT)</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">SELECT @conclusion= </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">SELECT @conclusion= </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">注意在本例子中关键词OUTPUT的使用。该关键词紧跟在参数@conclusion的定义后面。这指明该参数将会用于从该过程中输出信息。在这个简单的例子中,参数的值将会是</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">”</font><font FACE="宋体" SIZE="3">,根据变量@philosophe的值的不同而变化。</p>

<p ALIGN="JUSTIFY">为了这些一个具有输出参数的存储过程,你需要在EXECUTE语句中使用关键词OUTPUT 
。假如你在一个批处理或者另外一个存储过程中执行该过程时,你必须首先定义一个变量用于存储从过程中传递出的值,如下面的例子所示:</p>

<p ALIGN="JUSTIFY">DELCARE @proc_results VARCHAR(30)</p>

<p ALIGN="JUSTIFY">EXECUTE check_philosophers </font><font SIZE="3">“</font><font
FACE="宋体" SIZE="3">Plato</font><font SIZE="3">”</font><font FACE="宋体" SIZE="3">,@proc_results 
OUTPUT</p>

<p ALIGN="JUSTIFY">PRINT @proc_results</p>

<p ALIGN="JUSTIFY">在该例子中的第一个语句定义了将用于存储从过程check_philosophersZ中传出的参数值的变量。该变量将和输出参数的数据类型一模一样。第二个语句执行存储过程。注意变量@proc_results后面必须紧跟关键词OUTPUT。最后变量@proc_results的值被打印到屏幕上。</p>

<p ALIGN="JUSTIFY">你同样可以使用名称来接收输出参数的值,下面就是一个简单的例子:</p>

<p ALIGN="JUSTIFY">DECLARE @proc_results VARCHAR(30)</p>

<p ALIGN="JUSTIFY">EXECUTE check_philosophers @philosopher=</font><font SIZE="3">”</font><font
FACE="宋体" SIZE="3">Plato</font><font SIZE="3">”</font><font FACE="宋体" SIZE="3">,@conclusion=@proc_results 
OUTPUT</p>

<p ALIGN="JUSTIFY">PRINT @proc_results</p>

<p ALIGN="JUSTIFY">注意在该EXECUTE语句中,参数的名称总是列在前面。你要使用@conclusion=@proc_results来接收参数@conclusion的值,而不是你可能期望的@proc_results=@conclusion。</p>
</font>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -