📄 12-2-9.cfm.htm
字号:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>使用SQL Enterprise Manager 创建存储过程</title>
<meta name="GENERATOR" content="Microsoft FrontPage 3.0">
</head>
<body>
<font FACE="宋体"><b>
<p ALIGN="JUSTIFY">使用SQL Enterprise Manager 创建存储过程</p>
</b></font><font FACE="宋体" SIZE="3">
<p ALIGN="JUSTIFY">假如你要创建一个复杂的存储过程,使用SQL Enterprise
Manager要比ISQL/w要容易得多,该程序允许你更容易地修改存储过程,它可以自动为你删除和重新创建存储过程。</p>
<p ALIGN="JUSTIFY">要使用SQL Enterprise Manage来创建一个存储过程。首先启动该程序,选择你要用于存储表的数据库,然后在菜单上选择Manage|Manage
Stored Procedure,这时就会显示如图12。4所示的窗口。</p>
<p ALIGN="JUSTIFY">当你第一次打开存储过程管理对话框窗口时,会自动显示文本CREATE
PROCEDURE <PROCEDURE NAME>。如果学过上面部分的内容,你就会对该文本非常的熟悉。这是CREATE
PROCEDURE语句。替换<PROCEDURE NAME>成你所需要的名称。</p>
<p ALIGN="JUSTIFY">在关键词AS后面,你可以输入组成你存储过程的语句。比如,假设你在数据库中有一个名为Philosophers的数据库表,其中包含了一些哲学家的列表。下面的存储过程在如果在数据库中有Plato存在时,会打印“Plato
is a philosopher</font><font SIZE="3">”</font><font FACE="宋体" SIZE="3">;否则它会打印“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">当你已经完成输入存储过程后,你可以点击保存对象按钮来保存之(它看起来象一个绿色的三角形)。</p>
<p ALIGN="JUSTIFY"><b>图12.4 存储过程管理对话框窗口</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">为了观看在你第一次保存之后的存储过程的文本,你需要在Procedure下拉菜单中再次选择该存储过程。SQL
Server会自动在你的文档中插入新的语句。比如,在保存完check_philosophesr过程之后,会显示如下的文本:</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要添加这些语句呢?这些语句是什么用的呢?这些添加的语句并不包含在存储过程中。它们的使用是使存储过程的使用变得更加容易。</p>
<p ALIGN="JUSTIFY">当在过程中的第一个语句执行时,它检查是否有存储过程check_philosophers已经存在于数据库中。假如该过程已经存在,语句会删除该过程。这样,假如你修改了你的存储过程,然后点击Save
Object按钮时,该语句会确保过程在修改后再次创建之前已经被删除了。</p>
<b>
<p ALIGN="JUSTIFY">注意</p>
</b></font><font SIZE="3">
<p ALIGN="JUSTIFY"></font><font FACE="宋体" SIZE="3">在修改你的存储过程时,注意不要删除那些添加的语句。假如说你删除了第一个语句,你就不能正确地保存你的存储过程。相反的,你就会获得一个错误信息告诉你,存储过程已经存在于数据库中(假如你正处于这种情况下,你只需要用语句</font><font
SIZE="3">DROP PROCEDURE</font><font FACE="宋体" SIZE="3">来删除前一版本)。</p>
<p ALIGN="JUSTIFY">使用SQL Enterprise Manager而不是ISQL/w来创建你的存储过程的主要优点是使用Enterprise
Manage可以在将来很容易地修改存储过程,在已经保存了存储过程之后,你可以使用管理存储过程对话框来选择和修改它。使用ISQL/w在创建了存储过程之后对其进行修改是非常困难的。</p>
</font>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -