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

Użycie OUTPUT po INSERT w celu pobrania wartości kolumny tożsamości do zmiennej (nie będącej wartością tabeli)

Pamiętaj, że wartością klauzuli wyjściowej jest to, że może ona zwrócić więcej niż jeden rekord i więcej niż jedno pole. Możesz więc wyprowadzić zarówno klucz naturalny, jak i tożsamość zestawu danych, dzięki czemu możesz również użyć teorii mnogości do wstawienia wielu rekordów do tabel podrzędnych. Wyjście jest bardzo potężne i warto się do niego przyzwyczaić.

Obecnie występuje błąd w scope_identity() (patrz link:http://connect.microsoft.com/SQLServer/feedback/details/328811/scope-identity-sometimes-returns-incorrect-value ), których firma Microsoft nie zamierza naprawiać. To powinno dać ci wskazówkę, czy powinieneś używać danych wyjściowych do nowego rozwoju, nawet jeśli jest to nieco bardziej nieprzyjemne dla pojedynczych rekordów.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak używać DATEDIFF do zwracania roku, miesiąca i dnia?

  2. Porządkowanie wyników SQL Server według klauzuli IN

  3. Czy naprawdę muszę używać SET XACT_ABORT ON?

  4. Używanie dynamicznego SQL do określenia nazwy kolumny poprzez dodanie zmiennej do prostego zapytania sql

  5. Jak używać instrukcji IF/ELSE do aktualizacji lub tworzenia nowego wpisu węzła XML w Sql