Aracılığıyla paylaş


küme NOEXEC (Transact-SQL)

Her sorgu için derlendiğinden, ancak çalıştırmak değil.

Topic link iconTransact-SQL sözdizimi kuralları

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