作者:IIS 团队
先决条件
本演练假定使用以下环境:
- Web 服务器上已安装 IIS 数据库管理器。
- 数据库服务器(可与 Web 服务器驻留在同一物理计算机上)
做好准备
本演练中的说明足够通用,可应用于任何数据库部署。 我们将使用在另一个演练“使用表”中创建的表,演示如何创建新存储过程以及如何管理和删除现有存储过程。
创建新存储过程
根据前面的示例,我们将创建一个存储过程,用于显示“FabrikamUsers”和“AccessControls”表中的数据。 存储过程将检索与用户名关联的所有资源。 创建新存储过程:
打开“Internet Information Services (IIS)管理器” 。
转到数据库管理器并展开数据库连接节点(有关创建数据库连接的详细信息,请参阅 IIS 数据库管理器基础知识)。
在“存储过程”节点上,右键单击并选择“新建存储过程”。 此时会打开新的查询编辑器,其中预先填充了“CREATE PROCEDURE”模板以帮助你入门。
将“Procedure_Name”替换为“GetUserResources”。
将参数模板文本替换为我们需要的唯一参数的文本:
@Username VARCHAR(50)
在存储过程的正文中,在 BEGIN 和 END 之间键入以下查询:
SELECT FabrikamUsers.Username, AccessControls.ResourceURL, AccessControls.IsUserAllowed FROM FabrikamUsers INNER JOIN AccessControls ON (FabrikamUsers.UserId = AccessControls.UserId) WHERE FabrikamUsers.Username = @Username
单击查询编辑器工具栏上的“执行”。 现在将创建存储过程。 可以通过检查“存储过程”节点下的存储过程列表来确认是否已创建存储过程。
注意
在这种情况下,“执行”按钮将运行 CREATE PROCEDURE 脚本,并充当存储过程的保存机制。
修改现有存储过程
使用数据库管理器可在创建存储过程后对其进行更改。 我们将使用之前“创建新存储过程”中的示例演示如何编辑存储过程。 我们将向“GetUserResources”存储过程添加额外的参数。 编辑存储过程:
打开“Internet Information Services (IIS)管理器” 。
转到数据库管理器并展开数据库连接节点(有关创建数据库连接的详细信息,请参阅 IIS 数据库管理器基础知识)。
展开“存储过程”节点。 现在应会看到所有数据库存储过程的列表,包括“GetUserResources”。
选择“GetUserResources”存储过程。
在数据库管理器工具栏上,选择“编写为 ALTER 脚本”。 此时会打开查询编辑器,其中预先填充了修改存储过程所需的 ALTER PROCEDURE 模板。
在“@Username”参数下,使用以下文本添加额外的参数:
@Username VARCHAR(50), @IsUserAllowed BIT
注意
不要忘记在第一个变量后面添加逗号。
在存储过程的正文中,在 BEGIN 和 END 之间按如下所示修改查询:
SELECT FabrikamUsers.Username, AccessControls.ResourceURL, AccessControls.IsUserAllowed FROM FabrikamUsers INNER JOIN AccessControls ON (FabrikamUsers.UserId = AccessControls.UserId) WHERE FabrikamUsers.Username = @Username AND AccessControls.IsUserAllowed = @IsUserAllowed
单击查询编辑器工具栏上的“执行”。 现在将更改存储过程。
注意
在这种情况下,“执行”按钮将运行 ALTER PROCEDURE 脚本,并充当存储过程修改的保存机制。
可以继续在编辑器中进行更多更改或关闭编辑器。
基于现有存储过程创建新存储过程
使用数据库管理器可基于现有存储过程的代码创建新存储过程。 此功能可与存储过程的“另存为…” 操作进行比较。 基于现有存储过程创建新存储过程:
打开“Internet Information Services (IIS)管理器” 。
转到数据库管理器并展开数据库连接节点(有关创建数据库连接的详细信息,请参阅 IIS 数据库管理器基础知识)。
展开“存储过程”节点。 现在应会看到所有数据库存储过程的列表。
选择要作为新存储过程基础的现有存储过程。
在数据库管理器工具栏上,单击“编写为 CREATE 脚本”。 此时会打开查询编辑器,其中预先填充了 CREATE 存储过程,其签名和正文与现有存储过程相同。
对存储过程进行更改,然后单击“执行”。 新存储过程已创建,可以通过确保它显示在“存储过程”节点下进行确认。
注意
如果不更改存储过程的名称,将无法执行语句。
执行存储过程
使用数据库管理器可以执行存储过程。 例如,我们将运行“GetUserResources”存储过程并显示结果。 执行存储过程:
- 打开“Internet Information Services (IIS)管理器” 。
- 转到数据库管理器并展开数据库连接节点(有关创建数据库连接的详细信息,请参阅 IIS 数据库管理器基础知识)。
- 展开“存储过程”节点。 现在应会看到所有数据库视图的列表,包括“GetUserResources”。
- 选择“GetUserResources”存储过程。
- 在数据库管理器工具栏上,选择“执行存储过程”。 此时会打开一个对话框,要求填写存储过程参数。
- 输入存储过程调用的参数,然后单击“确定”关闭对话框。 对于“GetUserResources”,必须为 username 输入 VARCHAR 值,为 IsUserAllowed 参数输入布尔值。
- 此时会打开查询编辑器窗口,其中预先填充了用于调用存储过程的 EXEC 语句。 下部窗格包含存储过程返回的结果。
- 可以在编辑器中修改参数值,然后再次执行查询。
删除现有存储过程
使用数据库管理器可以删除现有存储过程。 删除存储过程:
- 打开“Internet Information Services (IIS)管理器” 。
- 转到数据库管理器并展开数据库连接节点(有关创建数据库连接的详细信息,请参阅 IIS 数据库管理器基础知识)。
- 展开“存储过程”节点。 现在应会看到所有数据库存储过程的列表。
- 选择要删除的存储过程。
- 右键单击并选择“删除”。 系统将提示你确认此操作。
- 如果选择“是”,则会删除存储过程。 可以通过检查“存储过程”节点下的存储过程列表来确认是否已删除存储过程。