@@PROCID (Transact-SQL)
Devuelve el identificador (Id.) de objeto del módulo Transact-SQL actual. Un módulo Transact-SQL puede ser un procedimiento almacenado, una función definida por el usuario o un desencadenador. @@PROCID no se puede especificar en módulos CLR o en el proveedor de acceso a datos en proceso.
Sintaxis
@@PROCID
Tipos de valor devueltos
int
Ejemplos
En el siguiente ejemplo se utiliza @@PROCID como parámetro de entrada en la función OBJECT_NAME para devolver el nombre del procedimiento almacenado en el mensaje 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%';