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

nastavit proměnnou s návratovou hodnotou dotazu

Pokud dotaz vrátí sadu skalárních výsledků, musíte to udělat

DECLARE @VAR INT

DECLARE @Result TABLE
(
C INT
)

DECLARE @SQl NVARCHAR(MAX)
SET @SQl = 'SELECT 1'

INSERT INTO @Result
EXEC(@SQl)

SELECT @VAR = C FROM @Result

Mnohem lepší je použít sp_executesql a OUTPUT parametry

DECLARE @VAR INT

DECLARE @SQl NVARCHAR(MAX)
SET @SQl = 'SELECT @out = 1'

EXEC sp_executesql @SQl, N'@out int output', @out = @VAR OUTPUT

SELECT @VAR 



  1. Problém s přidáním dvou sloupců mysql a vrácením celkem

  2. Konfigurace připojení skupiny dostupnosti

  3. Přidání spojení MySql dává nesprávné výsledky

  4. Počet dnů v týdnu v daném měsíci