sp_get_query_template (Transact-SQL)
Parametreli Sorgu biçiminde döndürür.The results returned mimic the parameterized form of a query that results from using forced parameterization.sp_get_query_template is used primarily when you create TEMPLATE plan guides.
sp_get_query_template
[ @querytext = ] N'query_text'
, @templatetext OUTPUT
, @parameters OUTPUT
Bağımsız değişkenler
'query_text'
Parametreli hale getirilmiş sürüm yaratılacak olduğu sorgudur. 'query_text' tek tırnak işareti içine alınmalıdır ve N Unicode Belirleyicisi tarafından önlerine.n 'query_text' @ querytext parametresi atanan değer. Türü budur. nvarchar(max).@ templatetext
Tür bir çıktı parametresini mi nvarchar(max), gösterilmiş parametreli biçiminde almak için sağlanan query_text bir dize.@ parametreleri
Tür bir çıktı parametresini mi nvarchar(max), @ templatetext parametreli parametre adları ve veri türü Dize hazır bilgi almak için belirtildiği gibi sağlanan.
Remarks
Aşağıdakiler ortaya çıktığında sp_get_query_template hata verir:
Sabit bir hazır bilgi değerleri parameterize query_text.
query_text bir Unicode dize değil, sözdizimsel olarak geçerli, null, veya derlenemez.
Sp_get_query_template hata verirse, @ templatetext ve @ parametreleri çıkış parametresi değerlerini değiştirmez.
İzinler
Ortak bir veritabanı rol üyeliği gerekir.
Örnekler
Aşağıdaki örnek, iki sabit hazır bilgi değerleri içeren bir sorgu parametreli biçiminde verir.
USE AdventureWorks;
GO
DECLARE @my_templatetext nvarchar(max)
DECLARE @my_parameters nvarchar(max)
EXEC sp_get_query_template
N'SELECT pi.ProductID, SUM(pi.Quantity) AS Total
FROM Production.ProductModel pm
INNER JOIN Production.ProductInventory pi
ON pm.ProductModelID = pi.ProductID
WHERE pi.ProductID = 2
GROUP BY pi.ProductID, pi.Quantity
HAVING SUM(pi.Quantity) > 400',
@my_templatetext OUTPUT,
@my_parameters OUTPUT;
SELECT @my_templatetext;
SELECT @my_parameters;
Here are the parameterized results of the @my\_templatetextOUTPUT parameter:
pi seçin.Productıd, SUM (pi.Miktar) olarak toplam
Üretim.ProductModel pm
iç birleştirmek üretim.ProductInventory pi
üzerinde PM.Productmodelıd pi =.Productıd
Burada pi.Productıd = @ 0
pi gruplandırma.Productıd, pi.Miktar
SUM (pi. sahip.Miktar) > 400
Dikkat hazır bilgi, ilk sabit 2, bir parametre dönüştürülür. Ikinci sabit değer 400, çünkü içinde dönüştürülmüş bir HAVING yan tümce. ALTER DATABASE PARAMETERIZATION seçeneği olduğunda, parametreleştirilmiş bir sorgu biçiminde sp_get_query_template tarafından döndürülen sonuçlar taklit küme FORCED için.Hakkında daha fazla değişken bu koşullar altında parametreli ilgili bilgi için bkz: Zorlanmış Parameterization.
Parametreli sonuçlar aşağıda @my\_parameters OUTPUT Parametre:
@0 int
Not
Sipariş ve sp_get_query_template çıkışını parametrelerinde, adlandırma hızlı düzeltme mühendisliği, hizmet paketi, Sürüm yükseltmelerinin arasında ve değiştirmek için SQL Server. Yükseltme da farklı bir neden küme, aynı sorguyu ve sonuçları her iki Çıkış parametrelerinin uygulanması için farklı bir aralık için parametreli için sabit bir hazır bilgi.