set noexec (Transact-SQL)
Derlerken her yapar yürütmek bunu sorgulamak.
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