SQL 编辑器中的存储过程

存储过程允许您管理基于服务器的数据库,并且显示该数据库以及其用户的有关信息。例如,可以使用一个存储过程来显示 authors 表中的每个作者的主题(从 titles 表)和出版商(从 publishers 表)。

存储过程可以包含程序流、逻辑和对该数据库的查询。它们可以接受参数、产生参数、返回单个或多个结果集和返回值。

对于任何需要用到 SQL 语句的情况,都可以使用存储过程,而且可以带来以下优点:

创建新的存储过程

可以从“数据视图”窗口打开 SQL 编辑器。“数据视图”窗口可以从“视图”菜单或者从“标准型”工具栏打开。

要创建一个新的存储过程,请按照以下步骤执行:

  1. 在“数据视图”中,单击存储过程文件夹或该文件夹中的任何存储过程。

  2. 从快捷方式菜单中选择“新建存储过程”。

    使用一个包含 SQL 语句的模板创建一个新的存储过程。

  3. 用过程的名称替代第一行中的 StoredProcedure 。例如,可以使用“MyProcedure”作为过程的名称:
    Create Procedure MyProcedure
    

    注意 存储过程必须具有唯一的名称。如果选择了一个已经在您的工程中指定给另一个存储过程的名称,将显示一个错误信息。

  4. 用 SQL 编写剩余的过程文本。

关于存储过程的示例和更多的信息,请参阅服务器的文档。如果正在使用 Microsoft(R) SQL Server(TM),请参阅 SQL Server 文档中的CREATE PROCEDURE 语句。Visual Basic SQL 编辑器也支持 Oracle 存储过程、函数、和软件包。

运行存储过程

可以运行您的数据库的存储过程,以执行该存储过程包含的 SQL 语句,并将结果显示在“立即”窗口中。

要运行一个存储过程,请按照以下步骤执行:

  1. 在“数据视图”中,展开存储过程文件夹。

  2. 右键单击您想要运行的存储过程的名称。在快捷方式菜单中选择“运行”。

  3. 如果需要任何参数,会出现一个对话框来输入参数的值。

复制存储过程

可以把复制一个存储过程作为创建数据库的一个新的存储过程的第一个步。因为存储过程必须有唯一的名称,新的存储过程将基于被复制存储过程的原名自动指定一个新名。

要复制存储过程,请按照以下步骤执行:

  1. 在“数据视图”中,展开存储过程文件夹。

  2. 在想要复制的存储过程名称上单击鼠标右键。在快捷方式菜单中选择“设计”。

    SQL 编辑器和该存储过程一起打开。

  3. 选择 SQL 编辑器中的所有文本。

  4. 右键单击 SQL 编辑器。在快捷方式菜单中选择“复制”。

  5. 右键单击 SQL 编辑器。在快捷方式菜单中选择“新存储过程向导”。

  6. 清除模板文本。

  7. 右键单击 SQL 编辑器。在快捷方式菜单中选择“粘贴”来创建新的存储过程。

  8. 改变存储过程的名称。

  9. 把存储过程保存到数据库中。

可以编辑新存储过程中的 SQL 语句。

设置存储过程中的执行权限

您可以对您所拥有的存储过程设置执行权限,以允许特定的用户或用户组访问该存储过程。在许多数据库中,例如 Microsoft(R) SQL Server(TM) 和 Oracle Database Server,如果您不是数据库的所有者,就必须显式地把您的存储过程的访问权限授予其他用户。使用SQL Server 的 ISQL utility、Enterprise Manager、或 Oracle Tool 来运行改变命令或可视地设置权限。