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ı
Her sorguyu derler ama çalıştırmaz.
Transact-SQL söz dizimi kuralları
Sözdizimi
SET NOEXEC { ON | OFF }
Açıklamalar
SET NOEXEC AÇIKSA, SQL Server her Transact-SQL ifadesi partisini ayrıştırır ve derler ancak onları çalıştırmaz. SET NOEXEC KAPALı olduğunda, tüm gruplar derlemeden sonra çalıştırılır. NOEXEC, ertelenmiş isim çözümlemesini destekler; Eğer toplu bir veya daha fazla referans alan nesne yoksa, hata atılmaz.
SQL Server'da ifadelerin yürütülmesi iki aşamadan oluşur: derleme ve yürütme. Bu ayar, SQL Server'ın çalıştırılırken Transact-SQL koddaki sözdizimi ve nesne isimlerini doğrulaması için faydalıdır. Ayrıca, genellikle daha büyük bir ifade grubunun parçası olan ifadeleri hata ayıklamak için de faydalıdır.
SET NOEXEC ayarı işleme veya çalışma zamanında ayarlanır, ayrıştırma zamanında değil.
Permissions
Genel rolde üyelik gerektirir.
Örnekler
Aşağıdaki örnek, geçerli bir sorgu, geçerli olmayan bir nesne adı olan bir sorgu ve yanlış sözdizimi olan bir sorgu ile kullanılır NOEXEC .
USE AdventureWorks2022;
GO
PRINT 'Valid query';
GO
-- SET NOEXEC to ON.
SET NOEXEC ON;
GO
-- Inner join.
SELECT e.BusinessEntityID, e.JobTitle, v.Name
FROM HumanResources.Employee AS e
INNER JOIN Purchasing.PurchaseOrderHeader AS poh
ON e.BusinessEntityID = poh.EmployeeID
INNER JOIN Purchasing.Vendor AS v
ON poh.VendorID = v.BusinessEntityID;
GO
-- SET NOEXEC to OFF.
SET NOEXEC OFF;
GO
PRINT 'Invalid object name';
GO
-- SET NOEXEC to ON.
SET NOEXEC ON;
GO
-- Function name used is a reserved keyword.
USE AdventureWorks2022;
GO
CREATE FUNCTION dbo.Values(@BusinessEntityID int)
RETURNS TABLE
AS
RETURN (SELECT PurchaseOrderID, TotalDue
FROM dbo.PurchaseOrderHeader
WHERE VendorID = @BusinessEntityID);
-- SET NOEXEC to OFF.
SET NOEXEC OFF;
GO
PRINT 'Invalid syntax';
GO
-- SET NOEXEC to ON.
SET NOEXEC ON;
GO
-- Built-in function incorrectly invoked.
SELECT *
FROM fn_helpcollations;
-- Reset SET NOEXEC to OFF.
SET NOEXEC OFF;
GO
Ayrıca Bkz.
SET Deyimleri (Transact-SQL)
SET SHOWPLAN_ALL (Transact-SQL)
SET SHOWPLAN_TEXT (Transact-SQL)