Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Применимо к:SQL Server
База данных
SQL AzureУправляемый экземпляр
SQL AzureБаза данных SQL в Microsoft Fabric
Возвращает идентификатор объекта (ID) текущего модуля Transact-SQL. Модуль Transact-SQL может быть хранимой процедурой, определяемой пользователем функцией или триггером. @@PROCID нельзя указать в модулях CLR или поставщике доступа к данным в процессе.
Соглашения о синтаксисе Transact-SQL
Синтаксис
@@PROCID
Типы возвращаемых данных
int
Примеры
В следующем примере функция @@PROCID используется в качестве входного параметра функции OBJECT_NAME для возврата имени хранимой процедуры в тексте сообщения RAISERROR.
USE AdventureWorks2022;
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%';
См. также
СОЗДАТЬ ФУНКЦИЮ (Transact-SQL)
СОЗДАТЬ ПРОЦЕДУРУ (Transact-SQL)
CREATE TRIGGER (Transact-SQL)
Функции метаданных (Transact-SQL)
sys.objects (Transact-SQL)
sys.sql_модули (Transact-SQL)
RAISERROR (Transact-SQL)