Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-databas i Microsoft Fabric
Returnerar objektidentifieraren (ID) för den aktuella Transact-SQL modulen. En Transact-SQL-modul kan vara en lagrad procedur, användardefinierad funktion eller trigger. @@PROCID kan inte specificeras i CLR-moduler eller den pågående dataåtkomstleverantören.
Transact-SQL syntaxkonventioner
Syntax
@@PROCID
Returtyper
int
Examples
Följande exempel använder @@PROCID som indataparameter i OBJECT_NAME funktionen för att returnera namnet på den lagrade proceduren i meddelandet 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%';
Se även
SKAPA FUNKTION (Transact-SQL)
SKAPA PROCEDUR (Transact-SQL)
SKAPA UTLÖSARE (Transact-SQL)
Metadata functions (Transact-SQL)
sys.objects (Transact-SQL)
sys.sql_moduler (Transact-SQL)
RAISERROR (Transact-SQL)