sql >> Database teknologi >  >> RDS >> Sqlserver

Er en returværdi på 0 altid en succes i lagrede procedurer?

Nej, du kan selv returnere noget

eksempel

CREATE PROC pr_test AS 
SELECT 1/0

RETURN 0
GO

Kør det nu

DECLARE @i INT
exec @i = pr_test

SELECT @i  -- will be 0

DROP PROC pr_test

Lad os nu gøre det igen uden returerklæringen

CREATE PROC pr_test2 AS 
SELECT 1/0

GO

DECLARE @i INT
exec @i = pr_test2

SELECT @i  -- will be - 6

Bedre at bruge en output parameter for at sende statusser og/eller beskeder tilbage



  1. WAMP ignorer my.ini

  2. PLS-00394:Forkert antal værdier på INTO-listen for en hente-sætning

  3. Træk en række data fra en anden i SQL

  4. PostgreSQL-forespørgselsoutput som en excel-fil