Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Необходимо ли е да се използва # за създаване на временни таблици в SQL сървър?

да Трябва да поставите пред името на таблицата "#" (хеш), за да създадете временни таблици.

Ако НЕ се нуждаете от таблицата по-късно, продължете и я създайте. Временните таблици са много подобни на нормалните таблици. Той обаче се създава в tempdb. Освен това е достъпен само през текущата сесия, т.е. за EG:ако друг потребител се опита да получи достъп до временната таблица, създадена от вас, той няма да може да го направи.

"##" (двойното хеширане създава "глобална" временна таблица, която може да бъде достъпна и от други сесии.

Вижте връзката по-долу за основите на временните таблици:http://www.codeproject.com/Articles/42553/Quick-Overview-Temporary-Tables-in-SQL-Server-2005

Ако съдържанието на вашата таблица е по-малко от 5000 реда и НЕ съдържа типове данни като nvarchar(MAX), varbinary(MAX), обмислете използването на таблични променливи.

Те са най-бързите, тъй като са като всички други променливи, които се съхраняват в RAM. Те също се съхраняват в tempdb, а не в 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;

Повече информация за променливите на таблицата:http://odetocode.com/articles/365.aspx



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Създаване на нова база данни от резервно копие на друга база данни на същия сървър?

  2. SQL Datediff - намиране на datediff между редовете

  3. изолиране на подниз в низ преди символ в SQL Server 2008

  4. Как да се борави с избягване на единични и двойни кавички в израз за SQL-Update

  5. Размисли за сигурността на SQL Server