set noexec (Transact-sql)
Her sorgu derler ama çalıştırmak değil.
Transact-SQL Sözdizim Kuralları
Sözdizimi
SET NOEXEC { ON | OFF }
Açıklamalar
set noexec on olduğunda SQL Serverher toplu derler Transact-SQLdeyimleri ama onları yürütmüyor. set noexec kapalı olduğunda, tüm toplu derleme sonra yürütülür.
Deyimleri yürütme SQL Serveriki aşama vardır: derleme ve çalıştırma. Bu ayar yararlı olması için SQL Serversözdizimi ve nesne adları doğrulamak Transact-SQLkod çalıştırırken. Genelde ifadelerini büyük toplu bir parçası olacağını deyimleri hata ayıklama için yararlıdır.
set noexec ayarı ayarlanır yürütme veya zaman değil ayrıştırma saati ve çalıştırın.
İzinler
Üyelik publicrolü.
Örnekler
Aşağıdaki örnek NOEXECgeçerli bir sorgu, sorgu geçersiz nesne adı ile ve bir sorgu hatalı sözdizimi ile.
USE AdventureWorks2012;
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 AdventureWorks2012;
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
USE AdventureWorks2012;
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 AdventureWorks2012;
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.
Başvuru
Deyimiyle (Transact-sql) bırak