执行存储过程

与系统过程名称匹配时使用调用数据库排序规则。 因此,在过程调用中始终使用系统过程名称的正确大小写形式。 例如,如果在具有区分大小写的排序规则的数据库上下文中执行,以下代码失败:

EXEC SP_heLP; -- Fails to resolve because SP_heLP doesn't equal sp_help  

若要显示确切的系统过程名称,请查询 sys. 和 sys. 目录视图。

如果用户定义的过程与系统过程同名,则可能不会执行用户定义的过程。

使用以下建议来执行存储过程。

系统存储过程

系统过程以前缀 sp_ 开头。 因为从逻辑意义上讲,这些系统过程出现在所有用户定义的数据库和系统定义的数据库中,所以可以从任何数据库执行这些过程,而不必完全限定过程名称。 但是,建议使用 sys 架构名称对所有系统过程名称进行架构限定,以防止名称冲突。 以下示例说明调用系统过程的推荐方法。

EXEC sys.sp_who;  

用户定义的存储过程

当执行用户定义的过程时执行存储过程,最好使用架构名称限定过程名称。 这种做法使性能得到小幅提升sqlserver 存储过程 调试,因为 数据库引擎 不必搜索多个架构。 如果某个数据库在多个架构中具有同名过程,则使用架构名称还可以防止执行错误的过程。

以下示例演示执行用户定义过程的推荐方法。 此过程接受两个输入参数。 有关指定输入参数和输出参数的信息,请参阅在存储过程中指定参数。

EXECUTE SalesLT.uspGetCustomerCompany @LastName = N'Cannon', @FirstName = N'Chris';
GO

Or:

EXEC SalesLT.uspGetCustomerCompany N'Cannon', N'Chris';
GO  

如果指定了非限定的用户定义过程,则 数据库引擎 按以下顺序搜索此过程:

sys 架构。

调用方的默认架构(如果它在批处理或动态 SQL 中执行此过程)。 如果非限定的过程名称出现在另一个过程定义的主体中,则接着搜索包含后一过程的架构。

当前数据库中的 dbo 架构。

安全性

有关安全信息执行存储过程,请参阅 AS (-SQL) 和 AS 子句 (-SQL)。

sqlserver 存储过程 调试

有关权限的信息,请参阅中的权限。

存储过程执行

可以使用 SQL (SSMS)或 SSMS 查询窗口中 -SQL 来执行存储过程。 安装最新版本的 SQL (SSMS)。

使用 SQL

在“对象资源管理器”中,连接到 SQL 或 Azure SQL 数据库的实例,展开该实例,然后展开“数据库”。

展开所需的数据库,然后依次展开 “可编程性” 和 “存储过程” 。

右键单击想要运行的存储过程,然后选择“执行存储过程”。

在“执行过程”对话框中,“参数”表示每个参数的名称、“数据类型”表示其数据类型,“输出参数”表示其是否为输出参数。

对于每个参数:

选择“确定”执行存储过程。 如果存储过程不具有任何参数,只需选择“确定”。

存储过程将运行,结果将显示在“结果”窗格中。

例如,要运行.y一文中的 存储过程,请输入 作为 @ 参数,输入 Chris 作为 @ 参数,然后选择“确定”。 该过程将返回 、 和 Goods。

在查询窗口中使用 -SQL

在 SSMS 中,连接到 SQL 或 Azure SQL 数据库的实例。

从工具栏中选择“新建询问”。

在查询窗口中输入具有以下语法的 语句,并提供所有预期参数的值:

EXECUTE  N', N';  
GO  

例如,以下 -SQL 语句执行 y 存储过程,将 作为 @ 参数值,将 Chris 作为 @ 参数值:

EXEC SalesLT.uspGetCustomerCompany N'Cannon', N'Chris';
GO  

在工具栏中选择“执行”。 存储过程将运行。

参数值选项

可通过多种方式在存储过程 语句中提供参数和值。 以下示例显示了 语句的几个不同选项。

启动时自动执行

适用范围:SQL

在 SQL 中, 服务器角色的成员可以使用 来设置或清除在启动时自动执行的过程。 启动过程必须位于 数据库中,并且不能包含输入或输出参数。 有关详细信息,请参阅 (-SQL)。

在每次启动 SQL 时将执行标记为自动执行的过程,并在启动过程期间中恢复 数据库。 将这些过程设置为自动执行对执行数据库维护操作或使这些过程作为后台进程连续运行很有用。

sqlserver 存储过程 调试

自动执行的另一个用途是使该过程执行 中的系统或维护任务,如创建一个全局临时表。 自动执行可确保在 SQL 启动过程中重新创建 时,始终存在这样一个临时表。

自动执行的过程使用与固定服务器角色 的成员相同的权限进行操作。 该过程生成的所有错误消息都将写入 SQL 错误日志。

虽然对启动过程的数目没有限制sqlserver 存储过程 调试,但在执行时每个启动过程将占用一个工作线程。 如果需要在启动时执行多个过程,但不需要并行执行,则可以指定一个过程作为启动过程,让该过程调用其他过程。 此方法只占用一个工作线程。

Tip

请勿从自动执行的过程中返回任何结果集。 因为该过程是由 SQL 而不是由应用程序或用户执行的sqlserver 存储过程 调试,所以结果集将无处可去。

Note

Azure SQL 数据库设计为将功能与 数据库上的依赖项相隔离。 因此,配置服务器级选项的 -SQL 语句在 Azure SQL 中不可用。 在弹性作业或 Azure 自动化等其他 Azure 服务中,通常都能找到合适的替代方法。

设置在启动时自动执行的过程

只有系统管理员 (sa) 可以将过程标记为自动执行。

在 SSMS 中,连接到数据库引擎。

在标准工具栏中,选择“新建查询”。

输入以下 命令,将存储过程设置为在 SQL 启动时自动执行。

EXEC sp_procoption @ProcName = N''   
    , @OptionName = 'startup'   
    , @OptionValue = 'on';
GO

在工具栏中,选择“执行”。

阻止在启动时自动执行过程

A 可以使用 来停止在 SQL 启动时自动执行的过程。

在 SSMS 中,连接到数据库引擎。

在标准工具栏中,选择“新建查询”。

将以下命令输入到查询窗口中。

EXEC sp_procoption @ProcName = N''      
    , @OptionName = 'startup'
    , @OptionValue = 'off';
GO

在工具栏中,选择“执行”。

相关内容

公告:
1. 本站所有资源来源于用户上传和网络,如有侵权请联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长处理!
6. 本站不售卖代码,资源标价只是站长收集整理的辛苦费!如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
7. 站长QQ号码 2205675299

资源库 - 资源分享下载网 » 执行存储过程

常见问题FAQ

关于资源售价和售后服务的说明?
本站所有资源的标价均为本站收集资源的辛苦费,不代表资源本身的价值。软件是高智慧高价值的商品,不可能是白菜价。本站资源标价只是赞助费用,收取的赞助费仅用来维持本站的日常运营!毕竟收集整理资料需要投入云计算资源和站长大量的精力。
代码有没有售后服务和技术支持?
由于代码的运行具有不可预见性,本站不保证代码完整可运行,不提供技术支持和售后服务。 本站原创代码都是站长自己开发的,可以有偿提供技术支持服务。 网站里标明【亲测】的代码都是站长亲测过的,其他的代码由于精力有限,没有一一测试,不能保证代码就一定能够使用,更没有技术支持服务,下载前请自行斟酌。
有没有搭建服务?
由于搭建服务比较费时费力,所以本站除了原创代码外均不提供搭建服务。本站分享代码纯属兴趣爱好,不以盈利为目的,请勿咨询有没有搭建服务,谢谢理解。
链接地址失效了怎么办?
请带上资源链接地址联系客服,工作时间内我们看到后将第一时间回复。
关于解压密码
本站资源一般都没有加密,如果发现需要解压密码的,那么就输入 hao.35dc.com 试试。

发表评论

资源库,由老程序员细心甄别、精心筛选,只为提供优质的源码资源

关于我们 联系我们