SQL Server saklı yordamını sp_executesql kullandığınızda, çıkış parametrelerini belirtme

Makale çevirileri Makale çevirileri
Makale numarası: 262499 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Özet

Sp_executesql Sistem saklı yordamını, birden çok kez yeniden kullanılabileceğini bir T-SQL deyimini yürütmek için veya dinamik olarak yerleşik bir T-SQL deyimini yürütmek için kullanılır. T-SQL deyimleri veya toplu işleri işlemek için Giriş parametreleri alıyor. Çıkış parametreleri (Bu SQL Server Books Online'da belgelenmeyen olsa da), T-SQL deyimlerinden oluşturulan herhangi bir çıktı depolanabilir böylece belirtilmesi de izin verir.

Çıkış parametreleri ile sp_executesql yararlı olacağı iki senaryo vardır:
  • Sp_executesql yararlı olacak çıkış oluşturursa, bu çıktısını bir çıktı parametresini depolamak, daha sonra sorgu için parametre kullanmak çağıran bir toplu sağlar.
  • Çıkış parametresi kullanılarak tanımlanmış bir saklı yordamın Sp_executesql yürütülüyorsa, çıkış parametrelerini sp_executesql saklı yordamdan oluşturulan çıktıların tutmak için kullanılır.

Daha fazla bilgi

Aşağıdaki iki örnek çıkış parametrelerini sp_executesql kullanımını göstermektedir.

Örnek 1
DECLARE @SQLString NVARCHAR(500)
DECLARE @ParmDefinition NVARCHAR(500)
DECLARE @IntVariable INT
DECLARE @Lastlname varchar(30)
SET @SQLString = N'SELECT @LastlnameOUT = max(lname)
                   FROM pubs.dbo.employee WHERE job_lvl = @level'
SET @ParmDefinition = N'@level tinyint,
                        @LastlnameOUT varchar(30) OUTPUT'
SET @IntVariable = 35
EXECUTE sp_executesql
@SQLString,
@ParmDefinition,
@level = @IntVariable,
@LastlnameOUT=@Lastlname OUTPUT
SELECT @Lastlname
				
Örnek 2
CREATE PROCEDURE Myproc
    @parm varchar(10),
    @parm1OUT varchar(30) OUTPUT,
    @parm2OUT varchar(30) OUTPUT
    AS
      SELECT @parm1OUT='parm 1' + @parm
     SELECT @parm2OUT='parm 2' + @parm
GO
DECLARE @SQLString NVARCHAR(500)
DECLARE @ParmDefinition NVARCHAR(500)
DECLARE @parmIN VARCHAR(10)
DECLARE @parmRET1 VARCHAR(30)
DECLARE @parmRET2 VARCHAR(30)
SET @parmIN=' returned'
SET @SQLString=N'EXEC Myproc @parm,
                             @parm1OUT OUTPUT, @parm2OUT OUTPUT'
SET @ParmDefinition=N'@parm varchar(10),
                      @parm1OUT varchar(30) OUTPUT,
                      @parm2OUT varchar(30) OUTPUT'

EXECUTE sp_executesql
    @SQLString,
    @ParmDefinition,
    @parm=@parmIN,
    @parm1OUT=@parmRET1 OUTPUT,@parm2OUT=@parmRET2 OUTPUT

SELECT @parmRET1 AS "parameter 1", @parmRET2 AS "parameter 2"
go
drop procedure Myproc
				
"sp_executesql (T-SQL)" ve SQL Server Books Online'da "Using sp_executesql" ek bilgi için bkz. Ek bilgi için SQL Server Books Online'da "Using sp_executesql" ve "sp_executesql (T-SQL) SQL Server 7.0 Çevrimiçi Kitapları'nda" veya SQL Server 2000 Books Online'da "sp_executesql" konusuna bakın.

Özellikler

Makale numarası: 262499 - Last Review: 22 Şubat 2007 Perşembe - Gözden geçirme: 4.3
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL 2005 Server Workgroup
Anahtar Kelimeler: 
kbmt kbinfo KB262499 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:262499

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com