Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak ustawić wynik procedury składowanej exec na zmienną?

Zamiast:

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

Potrzebujesz:

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

A następnie w ramach procedury potrzebujesz czegoś takiego:

RETURN 100

lub:

RETURN @x

dla wartości, którą chcesz dla @S po wykonaniu procedury.

Możesz także użyć parametrów wyjściowych. Połączony przykład:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SSIS — Wykonywanie wyszukiwania w innej tabeli w celu uzyskania powiązanej kolumny

  2. Zapytanie w drzewie serwera SQL

  3. Dlaczego SQL Server ciągle tworzy ograniczenie DF?

  4. Zapytanie serwera SQL, aby uzyskać listę kolumn w tabeli wraz z typami danych, ograniczeniami NOT NULL i PRIMARY KEY

  5. Otrzymuję dane ciągu, błędy właściwego obcinania z PHP przy użyciu ODBC i połączenia z instancją Microsoft SQL Server 2008R2