Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Microsoft Fabric'te SQL veritabanı
Yerel sunucuda mevcut depolanmış prosedür yürütme aşamasının (başlangıçta 0) iç içe geçme seviyesini döndürür.
Transact-SQL söz dizimi kuralları
Sözdizimi
@@NESTLEVEL
Dönüş Türleri
int
Açıklamalar
Her bir depolanmış prosedür başka bir depolanmış prosedürü çağırdığında veya yönetilen kodu ortak dil çalışma zamanı (CLR) rutinine, türüne veya agregasına atıfta bulunarak çalıştırdığında, iç içleme seviyesi artırılır. Maksimum 32 aşıldığında işlem sonlandırılır.
@@NESTLEVEL bir Transact-SQL dizisi içinde çalıştırıldığında, döndürülen değer 1 + mevcut iç içe geçirme seviyesidir. @@NESTLEVEL dinamik olarak sp_executesql kullanılarak yürütüldüğünde geri dönen değer 2 + mevcut iç içleme seviyesidir.
Örnekler
A. Bir işlemde @@NESTLEVEL kullanmak
Aşağıdaki örnek iki prosedür oluşturur: biri diğerini çağırır, diğeri ise her birinin ayarlarını @@NESTLEVEL gösterir.
USE AdventureWorks2022;
GO
IF OBJECT_ID (N'usp_OuterProc', N'P')IS NOT NULL
DROP PROCEDURE usp_OuterProc;
GO
IF OBJECT_ID (N'usp_InnerProc', N'P')IS NOT NULL
DROP PROCEDURE usp_InnerProc;
GO
CREATE PROCEDURE usp_InnerProc AS
SELECT @@NESTLEVEL AS 'Inner Level';
GO
CREATE PROCEDURE usp_OuterProc AS
SELECT @@NESTLEVEL AS 'Outer Level';
EXEC usp_InnerProc;
GO
EXECUTE usp_OuterProc;
GO
Sonuç kümesi aşağıdadır.
Outer Level
-----------
1
Inner Level
-----------
2
B. Çağrı @@NESTLEVEL
Aşağıdaki örnek, , EXEC, ile ile döndürülen SELECTdeğerler arasındaki farkı gösterir ve sp_executesql her biri çağırdığında @@NESTLEVEL.
CREATE PROC usp_NestLevelValues AS
SELECT @@NESTLEVEL AS 'Current Nest Level';
EXEC ('SELECT @@NESTLEVEL AS OneGreater');
EXEC sp_executesql N'SELECT @@NESTLEVEL as TwoGreater' ;
GO
EXEC usp_NestLevelValues;
GO
Sonuç kümesi aşağıdadır.
Current Nest Level
------------------
1
(1 row(s) affected)
OneGreater
-----------
2
(1 row(s) affected)
TwoGreater
-----------
3
(1 row(s) affected)
Ayrıca Bkz.
Yapılandırma İşlevleri (Transact-SQL)
Saklı Prosedür Oluştur
@@TRANCOUNT (Transact-SQL)