Поделиться через


@@PROCID (Transact-SQL)

Возвращает идентификатор объекта (ID) текущего модуля Transact-SQL. Модуль Transact-SQL может быть хранимой процедурой, определяемой пользователем функцией или триггером. Функция @@PROCID не может быть вызвана из модулей среды CLR или внутрипроцессного поставщика доступа к данным.

Применимо для следующих объектов: SQL Server (SQL Server 2008 по текущую версию), База данных SQL Windows Azure (С первоначального выпуска по текущий выпуск).

Значок ссылки на раздел Синтаксические обозначения в Transact-SQL

Синтаксис

@@PROCID

Возвращаемые типы

int

Примеры

В следующем примере функция @@PROCID используется в качестве входного параметра функции OBJECT_NAME для возврата имени хранимой процедуры в тексте сообщения RAISERROR.

USE AdventureWorks2012;
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%';

См. также

Справочник

CREATE FUNCTION (Transact-SQL)

CREATE PROCEDURE (Transact-SQL)

CREATE TRIGGER (Transact-SQL)

Функции метаданных (Transact-SQL)

sys.objects (Transact-SQL)

sys.sql_modules (Transact-SQL)

RAISERROR (Transact-SQL)