返回 Transact-SQL 当前模块的对象标识符 (ID)。Transact-SQL 模块可以是存储过程、用户定义函数或触发器。不能在 CLR 模块或进程内数据访问接口中指定 @@PROCID 。

 Transact-SQL 语法约定

 语法
sql server 2005 T-SQL @@PROCID (Transact-SQL)_对象标识符
 
@@PROCID
 返回类型
sql server 2005 T-SQL @@PROCID (Transact-SQL)_对象标识符

int

 示例
sql server 2005 T-SQL @@PROCID (Transact-SQL)_对象标识符

以下示例使用 @@PROCID 作为 OBJECT_NAME 函数中的输入参数,在 RAISERROR 消息中返回存储过程的名称。

sql server 2005 T-SQL @@PROCID (Transact-SQL)_触发器_04 复制代码
USE AdventureWorks;

GO

IF OBJECT_ID ( 'usp_FindName', 'P' ) IS NOT NULL 

DROP PROCEDURE usp_FindName;

GO

CREATE PROCEDURE usp_FindName

@lastname varchar(40) = '%', 

@firstname varchar(20) = '%'

AS

DECLARE @Count int;

DECLARE @ProcName nvarchar(128);

SELECT LastName, FirstName, Phone, EmailAddress

FROM Person.Contact 

WHERE FirstName LIKE @firstname AND LastName LIKE @lastname;

SET @Count = @@ROWCOUNT;

SET @ProcName = OBJECT_NAME(@@PROCID);

RAISERROR ('Stored procedure %s returned %d rows.', 16,10, @ProcName, @Count);

GO

EXECUTE dbo.usp_FindName 'P%', 'A%';