Bir Çıktı parametresi ile saklı yordamı çalıştırma?

Test etmeye çalıştığım bir saklı yordamım var. SQL Management Studio üzerinden test etmeye çalışıyorum. Bu testi çalıştırmak için ...

exec my_stored_procedure 'param1Value', 'param2Value'

Son parametre bir çıktı parametresidir. Ancak, çıkış parametreleri olan bir saklı yordamı nasıl test edeceğimi bilmiyorum.

Çıktı parametresi olan bir saklı yordamı nasıl çalıştırırım?

Çözüm

Kolay yol, Sql Server Management Studio (SSMS) içinde yordam üzerine `sağ tıklamaktır,

select saklı yordamı çalıştır...

ve istendiği gibi girdi parametreleri için değerler ekleyin.

Daha sonra SSMS yeni bir sorgu penceresinde proc'yi çalıştırmak için kodu oluşturacak ve sizin için çalıştıracaktır. Nasıl yapıldığını görmek için oluşturulan kodu inceleyebilirsiniz.

Yorumlar (4)

Bunu yapabilirsin:

declare @rowCount int
exec yourStoredProcedureName @outputparameterspOf = @rowCount output
Yorumlar (2)

http://support.microsoft.com/kb/262499 adresinden

Örnek:

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

Umarım bu yardımcı olur!

Yorumlar (0)