在本文中,我们将深入探讨 SQL Server 中的临时存储过程,并提供一些实际的示例。在我们之前的文章中,我们讨论了 SQL Server 存储过程中的返回值。本文将详细介绍以下内容:

什么是 SQL Server 临时存储过程?

在数据库中临时创建的存储过程称为临时存储过程,这些存储过程不会永久存储在数据库中。SQL Server 的临时存储过程有两种类型:

  1. 私有/本地临时存储过程
  2. 公共/全局临时存储过程
什么是私有/本地临时存储过程?

在 SQL Server 中,当我们在存储过程名称前使用?#?前缀时,该存储过程被称为本地或私有临时存储过程。这种类型的存储过程只能由创建它的连接执行,并且在创建它的连接关闭后自动删除。

示例:创建一个本地临时存储过程
CREATEPROCEDURE#LocalProcedure
AS
BEGIN
    PRINT '这是一个本地临时存储过程'
END
-- 调用本地临时存储过程
EXEC #LocalProcedure
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.

SQL Server 临时存储过程及示例_服务器

什么是公共/全局临时存储过程?

使用?##?前缀创建的存储过程称为全局临时存储过程。这种类型的存储过程可以被 SQL Server 中的其他连接访问,直到创建该过程的连接关闭为止。

示例:创建一个全局临时存储过程
CREATEPROCEDURE##GlobalProcedure
AS
BEGIN
 ? ?PRINT '这是一个全局临时存储过程'
END
-- 调用全局临时存储过程
EXEC ##GlobalProcedure
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
SQL Server 临时存储过程的用途

临时存储过程在连接到不支持 Transact-SQL 语句或批次的执行计划重用的早期版本的 SQL Server 时非常有用。

通过这些示例和测试数据,希望您能更好地理解 SQL Server 中的临时存储过程及其应用。