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ı parametresi
dir. 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?
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.
Bunu yapabilirsin:
declare @rowCount int
exec yourStoredProcedureName @outputparameterspOf = @rowCount output
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!