Aracılığıyla paylaş


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.

Topic link iconTransact-SQL sözdizimi kuralları

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.