sql >> Databáze >  >> RDS >> Sqlserver

Jak nastavit výsledek exec uložené procedury na proměnnou?

Místo:

SET @S=EXEC spGetNthNo @a,@d,@n

Potřebujete:

EXEC @S = spGetNthNo @a,@d,@n

A pak v rámci procedury potřebujete něco jako:

RETURN 100

nebo:

RETURN @x

pro hodnotu, kterou chcete pro @S po provedení procedury.

Můžete také použít výstupní parametry. Kombinovaný příklad:

IF OBJECT_ID('tempdb..#example') IS NOT NULL DROP PROCEDURE #example
GO

CREATE PROCEDURE #example
  @output_param INT OUTPUT
AS BEGIN
   SET @output_param = 100
   RETURN 200
END
GO

DECLARE @return INT, @param INT
EXEC @return = #example @output_param = @param OUTPUT
SELECT @return as [return value], @param as [output parameter]


  1. Aktualizace databáze .mdf se nezdařila, protože databáze je pouze pro čtení (aplikace pro Windows)

  2. Mám PHP vyplňující rozevírací pole a chci, aby také vyplnilo dvě textová pole pouze pro čtení ze stejné tabulky

  3. Jak uložit hodnotu, která se skládá z řetězce a má seznam, do databáze mysql

  4. VS2017 MYSQL SQLDataSource - Odkaz na objekt není nastaven na instanci objektu