sql >> Database >  >> RDS >> Sqlserver

Is een retourwaarde van 0 altijd een succes in opgeslagen procedures?

Nee, je kunt zelf iets retourneren

voorbeeld

CREATE PROC pr_test AS 
SELECT 1/0

RETURN 0
GO

Voer het nu uit

DECLARE @i INT
exec @i = pr_test

SELECT @i  -- will be 0

DROP PROC pr_test

Laten we het nu opnieuw doen zonder de return-statement

CREATE PROC pr_test2 AS 
SELECT 1/0

GO

DECLARE @i INT
exec @i = pr_test2

SELECT @i  -- will be - 6

Het is beter om een ​​output parameter te gebruiken om statussen en/of berichten terug te geven



  1. mysql SELECT NOT IN () -- disjuncte set?

  2. bestellen op werkt niet goed met twee velden

  3. Is NOLOCK de standaard voor SELECT-instructies in SQL Server 2005?

  4. SqlAlchemy retourneert niet alle rijen bij het opvragen van tabelobjecten, maar retourneert alle rijen wanneer ik de tabelobjectkolom opvraag