Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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)