sql >> Database >  >> RDS >> Sqlserver

SET versus SELECT bij het toekennen van variabelen?

Citaat, dat samenvat uit dit artikel:

  1. SET is de ANSI-standaard voor variabele toewijzing, SELECT niet.
  2. SET kan slechts één variabele tegelijk toewijzen, SELECT kan meerdere toewijzingen tegelijk maken.
  3. Als een query wordt toegewezen, kan SET alleen een scalaire waarde toewijzen. Als de query meerdere waarden/rijen retourneert, zal SET een foutmelding geven. SELECT wijst een van de waarden toe aan de variabele en verbergt het feit dat er meerdere waarden zijn geretourneerd (je zou dus waarschijnlijk nooit weten waarom er ergens anders iets mis ging - veel plezier met het oplossen van die ene)
  4. Bij toewijzing vanuit een query als er geen waarde wordt geretourneerd, zal SET NULL toewijzen, waarbij SELECT de toewijzing helemaal niet zal maken (dus de variabele wordt niet gewijzigd ten opzichte van de vorige waarde)
  5. Wat betreft snelheidsverschillen - er zijn geen directe verschillen tussen SET en SELECT. De mogelijkheid van SELECT om meerdere opdrachten in één keer te maken, geeft het echter een klein snelheidsvoordeel ten opzichte van SET.


  1. FORMAT() Voorbeelden in MySQL

  2. hoe het slaapstand-configuratiebestand voor sql-server te configureren

  3. AMD EPYC 7002-serie processors en SQL Server

  4. KNIME