küme NOEXEC (Transact-SQL)
Her sorgu için derlendiğinden, ancak çalıştırmak değil.
SET NOEXEC { ON | OFF }
Remarks
küme NOEXEC, AÇıK olduğunda SQL Server Her toplu iş iş işleminin derler. Transact-SQL ifadeleri, ancak bunları yürütmek değil. küme NOEXEC KAPALı olduğunda, tüm toplu işleri derleme sonra yürütülür.
Tablolarda yürütülmesini SQL Server iki aşama vardır: derleme ve çalıştırma. Bu ayar, sahip olmak için kullanışlıdır SQL Server Sözdizimi ve nesne adlarında doğrula Transact-SQL yürütürken kodu. Genellikle ekstrelerinin daha büyük bir toplu iş parçası olması ifadeleri hata ayıklama için yararlıdır.
küme NOEXEC ayarını ayarlayın yürütmek veya saat ve çözümleme saat değil.
İzinler
Üyelik gerektirir Ortak roldür.
Örnekler
Aşağıdaki örnek kullanır. NOEXEC Geçerli bir sorgu, bir sorgu geçersiz nesne adı ile bir sorgu yanlış sözdizimi.
USE AdventureWorks;
GO
PRINT 'Valid query';
GO
-- SET NOEXEC to ON.
SET NOEXEC ON;
GO
-- Inner join.
SELECT e.EmployeeID, e.Title, v.Name
FROM HumanResources.Employee e
INNER JOIN Purchasing.PurchaseOrderHeader poh
ON e.EmployeeID = poh.EmployeeID
INNER JOIN Purchasing.Vendor v
ON poh.VendorID = v.VendorID;
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 AdventureWorks;
GO
CREATE FUNCTION dbo.Values(@EmployeeID INT)
RETURNS TABLE
AS
RETURN (SELECT PurchaseOrderID, TotalDue
FROM dbo.PurchaseOrderHeader
WHERE EmployeeID = @EmployeeID)
-- 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
See Also