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

Vrácení hodnoty z příkazu INSERT v SQL Server 2008

Ano – můžete použít málo známou a málo používanou klauzuli OUTPUT ve vašem příkazu INSERT

INSERT INTO dbo.YourTable(col1, col2, col3, ...., ColN)
OUTPUT Inserted.Col1, Inserted.Col5, Inserted.ColN
VALUES(val1, val2, val3, ....., valN)

To vrátí normální sadu dat, se kterou můžete nakládat, jak potřebujete.

Jak ukazují dokumenty MSDN, můžete také odeslat hodnoty OUTPUT do např. proměnnou tabulky nebo dočasnou tabulku pro pozdější použití, pokud budete potřebovat.

Chcete-li odpovědět na vaši aktualizovanou otázku, použijte toto:

INSERT INTO dbo.EMPDETAILS(EmpName)
OUTPUT Inserted.EmpID
VALUES("John")



  1. Najít přidružení mezi databázovými poštovními účty a principy databáze v SQL Server (T-SQL)

  2. Plně dynamický dotaz na databázi místností

  3. Funkce MYSQL TIMEDIFF dlouhodobě nefunguje

  4. MySQL SUM() dává nesprávný součet