Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Base de dados SQL no Microsoft Fabric
Devolve o identificador de objeto (ID) do módulo Transact-SQL atual. Um módulo Transact-SQL pode ser um procedimento armazenado, função definida pelo utilizador ou um disparador. @@PROCID não podem ser especificados nos módulos CLR nem no fornecedor de acesso a dados em processo.
Transact-SQL convenções de sintaxe
Sintaxe
@@PROCID
Tipos de devolução
int
Examples
O exemplo seguinte utiliza @@PROCID como parâmetro de entrada na OBJECT_NAME função para devolver o nome do procedimento armazenado na RAISERROR mensagem.
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%';
Ver também
CRIAR FUNÇÃO (Transact-SQL)
CRIAR PROCEDIMENTO (Transact-SQL)
CRIAR GATILHO (Transact-SQL)
Funções de metadados (Transact-SQL)
sys.objects (Transact-SQL)
sys.sql_módulos (Transact-SQL)
RAISERROR (Transact-SQL)