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.
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.
Ö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
(http://support.microsoft.com/kb/262499/en-us/
)
Bu makaleyi kullanabilmek için kişisel olarak ne kadar çaba harcadınız?
Çok az
Az
Ne Az, Ne Fazla
Fazla
Çok fazla
Bu bilgiyi geliştirmek için ne yapabiliriz?
Gizliliğinizi korumak için, irtibat bilgilerinizi görüşlerinize eklemeyin.
Teşekkür ederiz! Görüşleriniz, destek içeriğimizi geliştirmek amacıyla kullanılacaktır. Daha fazla yardım seçeneği için lütfen, Yardım ve Destek Ana Sayfası’nı ziyaret edin.