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

SET a SELECT podczas przypisywania zmiennych?

Cytat, który podsumowuje ten artykuł:

  1. SET to standard ANSI dla przypisywania zmiennych, SELECT nie.
  2. SET może przypisywać tylko jedną zmienną na raz, SELECT może wykonywać wiele przypisań naraz.
  3. W przypadku przypisywania z zapytania, SET może przypisać tylko wartość skalarną. Jeśli zapytanie zwróci wiele wartości/wierszy, to SET zgłosi błąd. SELECT przypisze jedną z wartości do zmiennej i ukryje fakt, że zwrócono wiele wartości (więc prawdopodobnie nigdy nie będziesz wiedział, dlaczego coś poszło nie tak gdzie indziej – baw się dobrze, rozwiązywanie tego problemu)
  4. Podczas przypisywania z zapytania, jeśli nie ma zwróconej wartości, SET przypisze NULL, gdzie SELECT w ogóle nie dokona przypisania (więc zmienna nie zostanie zmieniona z poprzedniej wartości)
  5. Jeśli chodzi o różnice prędkości - nie ma bezpośrednich różnic między SET i SELECT. Jednak zdolność SELECT do wykonywania wielu zadań w jednym ujęciu daje mu niewielką przewagę szybkości nad SET.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przypisz wynik dynamicznego sql do zmiennej

  2. Statystyki użycia indeksu SQL Server

  3. Dodaj logowanie do serwera połączonego w programie SQL Server (przykład T-SQL)

  4. Nie można upuścić obiektu, ponieważ odwołuje się do niego ograniczenie KLUCZA OBCEGO — samouczek SQL Server / TSQL, część 74

  5. SQL Server FOR JSON AUTO Przykłady (T-SQL)