Mám uloženú procedúru, ktorú sa snažím otestovať. Snažím sa ho otestovať prostredníctvom SQL Management Studia. Na spustenie tohto testu zadávam ...
exec my_stored_procedure 'param1Value', 'param2Value'
Posledný parameter je výstupný parameter
. Neviem však, ako otestovať uloženú procedúru s výstupnými parametrami.
Ako môžem spustiť uloženú procedúru s výstupným parametrom?
Jednoduchým spôsobom je pravým tlačidlom myši kliknúť na procedúru
v Sql Server Management Studio(SSMS),
vybrať položku vykonať uloženú procedúru...
a podľa výzvy pridajte hodnoty pre vstupné parametre.
Systém SSMS
potom vygeneruje kód na spustenie procedúry v novom okne dotazu a vykoná ju za vás. Vygenerovaný kód si môžete preštudovať, aby ste videli, ako sa to robí.
môžete to urobiť:
declare @rowCount int
exec yourStoredProcedureName @outputparameterspOf = @rowCount output
Z adresy http://support.microsoft.com/kb/262499
Príklad:
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
Dúfam, že to pomôže!