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

Zwracanie wartości z instrukcji INSERT w SQL Server 2008

Tak – możesz użyć mało znanej i mało używanej klauzula OUTPUT w wyciągu INSERT

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

Zwraca to normalny zestaw danych, z którymi możesz sobie poradzić w razie potrzeby.

Jak pokazują dokumenty MSDN, możesz również wysłać wartości OUTPUT do np. zmienną tabeli lub tabelę tymczasową do późniejszego wykorzystania, jeśli zajdzie taka potrzeba.

Aby odpowiedzieć na zaktualizowane pytanie, użyj tego:

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server — czy kolejność kolumn ma znaczenie?

  2. Błąd podczas konwertowania typów danych podczas importowania z programu Excel do programu SQL Server 2008

  3. SQL Server 2008 FullTextSearch Brak jednego znaku w nazwie w wynikach

  4. JDBC SQLServerException:Ten sterownik nie jest skonfigurowany do zintegrowanego uwierzytelniania.

  5. Zmień tryb podejrzany bazy danych SQL na tryb normalny za pomocą zapytania