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

Je nutné použít # pro vytváření dočasných tabulek na SQL serveru?

Ano. Chcete-li vytvořit dočasné tabulky, musíte před název tabulky přidat "#" (hash).

Pokud tabulku později NEPOTŘEBUJETE, pokračujte a vytvořte ji. Dočasné tabulky jsou velmi podobné normálním stolům. Je však vytvořena v tempdb. Také je přístupná pouze prostřednictvím aktuální relace, tj. EG:pokud se jiný uživatel pokusí o přístup k vámi vytvořené dočasné tabulce, nebude to moci udělat.

"##" (double-hash vytvoří "globální" dočasnou tabulku, ke které mají přístup i jiné relace.

Základy dočasných tabulek naleznete na níže uvedeném odkazu:http://www.codeproject.com/Articles/42553/Quick-Overview-Temporary-Tables-in-SQL-Server-2005

Pokud je obsah vaší tabulky méně než 5000 řádků a NEOBSAHUJE datové typy, jako je nvarchar(MAX), varbinary(MAX), zvažte použití proměnných tabulky.

Jsou nejrychlejší, protože jsou stejně jako všechny ostatní proměnné, které jsou uloženy v paměti RAM. Jsou také uloženy v tempdb, ne v RAM .

DECLARE @ItemBack1 TABLE
(
 column1 int,
 column2 int,
 someInt int,
 someVarChar nvarchar(50)
);

INSERT INTO @ItemBack1
SELECT column1, 
       column2, 
       someInt, 
       someVarChar 
  FROM table2
 WHERE table2.ID = 7;

Další informace o proměnných tabulky:http://odetocode.com/articles/365.aspx



  1. Hodnota vložená do tabulky v oracle nebyla uložena?

  2. Syntaxe MySQL SELECT WHERE EQUALS

  3. mazání duplikátů

  4. Jaký je rozdíl mezi MySQL, MySQLi a PDO?