分享方式:


@@PROCID (Transact-SQL)

適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控執行個體

傳回目前 Transact-SQL 模組的物件識別碼。 Transact-SQL 模組可能是預存程序、使用者自訂函數或觸發程序。 您不能在 CLR 模組或進行中的資料存取提供者中指定 @@PROCID。

Transact-SQL 語法慣例

Syntax

@@PROCID  

注意

若要檢視 SQL Server 2014 (12.x) 和舊版的 Transact-SQL 語法,請參閱 舊版檔

傳回型別

int

範例

下列範例會利用 @@PROCID 做為 OBJECT_NAME 函數中的輸入參數,以在 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%';  

另請參閱

CREATE FUNCTION (Transact-SQL)
CREATE PROCEDURE (Transact-SQL)
CREATE TRIGGER (Transact-SQL)
中繼資料函數 (Transact-SQL)
sys.objects (Transact-SQL)
sys.sql_modules (Transact-SQL)
RAISERROR (Transact-SQL)