Share via


@@PROCID (Transact-SQL)

Retorna o identificador de objeto (ID) do módulo Transact-SQL atual. Um módulo Transact-SQL pode ser um procedimento armazenado, uma função definida pelo usuário ou um gatilho. @@PROCID não pode ser especificado em módulos CLR ou no provedor de acesso de dados em processo.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

@@PROCID

Tipos de retorno

int

Exemplos

O exemplo a seguir usa @@PROCID como o parâmetro de entrada na função OBJECT_NAME para retornar o nome do procedimento armazenado na mensagem RAISERROR.

USE AdventureWorks2008R2;
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
FROM Person.Person 
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%';