sql >> Databáze >  >> RDS >> Sqlserver

SET versus SELECT při přiřazování proměnných?

Citát, který shrnuje z tohoto článku:

  1. SET je standard ANSI pro přidělování proměnných, SELECT nikoli.
  2. SET může přiřadit pouze jednu proměnnou najednou, SELECT může provést více přiřazení najednou.
  3. Při přiřazování z dotazu může SET přiřadit pouze skalární hodnotu. Pokud dotaz vrátí více hodnot/řádků, pak SET vyvolá chybu. SELECT přiřadí proměnnou jednu z hodnot a skryje skutečnost, že bylo vráceno více hodnot (takže se pravděpodobně nikdy nedozvíte, proč se někde něco pokazilo – bavte se při odstraňování této chyby)
  4. Pokud při přiřazování z dotazu není vrácena žádná hodnota, pak SET přiřadí NULL, kde SELECT přiřazení vůbec neprovede (proměnná se tedy nezmění oproti své předchozí hodnotě)
  5. Pokud jde o rozdíly v rychlosti, mezi SET a SELECT nejsou žádné přímé rozdíly. Schopnost SELECT provádět více úkolů najednou mu však poskytuje mírnou rychlostní výhodu oproti SET.


  1. Generování náhodného čísla v každém řádku v Oracle Query

  2. Upgrade Slony-I 2.0.x na nejnovější verzi 2.1.x

  3. PostgreSQL vs. MySQL

  4. RowGen v3 automatizuje generování testovacích dat databáze