Delen via


@@PROCID (Transact-SQL)

van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL-database in Microsoft Fabric

Geeft de objectidentificatie (ID) van de huidige Transact-SQL module terug. Een Transact-SQL module kan een opgeslagen procedure, door de gebruiker gedefinieerde functie of trigger zijn. @@PROCID kan niet worden gespecificeerd in CLR-modules of de in-process data-access provider.

Transact-SQL syntaxis-conventies

Syntaxis

@@PROCID  

Retourtypen

int

Voorbeelden

Het volgende voorbeeld gebruikt @@PROCID als invoerparameter in de OBJECT_NAME functie om de naam van de opgeslagen procedure in het RAISERROR bericht terug te geven.

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

Zie ook

CREËER FUNCTIE (Transact-SQL)
PROCEDURE MAKEN (Transact-SQL)
MAAK TRIGGER (Transact-SQL)
Metagegevensfuncties (Transact-SQL)
sys.objects (Transact-SQL)
sys.sql_modules (Transact-SQL)
RAISERROR (Transact-SQL)