Aracılığıyla paylaş


set noexec (Transact-SQL)

Derlerken her yapar yürütmek bunu sorgulamak.

Konu bağlantısı simgesiTransact-SQL sözdizimi kuralları

Sözdizimi

SET NOEXEC { ON | OFF }

Açıklamalar

set noexec on, olduğunda SQL Server derler her toplu iş Transact-SQL ancak oluşturmayacaksınız yürütmek bunları.set noexec kapalı olduğunda, tüm Toplu derleme sonra yürütülür.

Tablolarda yürütülmesi SQL Server iki aşama vardır: derleme ve yürütme.Bu ayar yararlı olması için SQL Server sözdizimi ve nesne adları doğrulamak Transact-SQL kod çalıştırırken.Genellikle ifadeleri büyük toplu iş bir parçası olabilecek hata ayıklama ifadeleri için yararlı olur.

set noexec ayarı yürütmek sırasında küme veya çalışma saat ve ayrıştırma saatzaman.

İzinler

Üyelik gerektiren public rolü.

Örnekler

Aşağıdaki örnek NOEXEC geçerli bir sorgu, geçerli olmayan bir nesne adı içeren bir sorgu ve sorgu sözdizimi yanlış.

USE AdventureWorks2008R2;
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 uses is a reserved keyword.
USE AdventureWorks2008R2;
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