@@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.

Note

In Azure SQL Database en SQL Database in Microsoft Fabric is de USE instructie niet beschikbaar. Maak in plaats daarvan direct verbinding met de beoogde database en voer de rest van het codevoorbeeld uit.

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