Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Връщане на стойност от оператор INSERT в SQL Server 2008

Да – можете да използвате малко известната и малко използвана клауза OUTPUT във вашия оператор INSERT

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

Това връща нормален набор от данни, с които можете да работите, както е необходимо.

Както показват документите на MSDN, можете също да изпратите OUTPUT стойностите напр. променлива на таблица или временна таблица за по-късна употреба, ако е необходимо.

За да отговорите на актуализирания си въпрос, използвайте това:

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 Management Studio?

  2. Актуализирайте SQL с последователно номериране

  3. Забавление с BULK INSERT SQL SERVER - тип несъответствие или невалиден знак за посочената кодова страница

  4. Задайте дата в SQL сървър

  5. Как да вмъкна арабски знаци в SQL база данни?