복붙노트

[SQL] 그것은 SQL 서버에 임시 테이블을 만들기위한 #을 사용할 필요가 있습니까?

SQL

그것은 SQL 서버에 임시 테이블을 만들기위한 #을 사용할 필요가 있습니까?

그것은 SQL 서버에 임시 테이블을 만들기 전에 #를 사용할 필요가 있습니까?

예:

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

ItemBack1의 경우는 # 기호를 사용하는 것이 필요하다?

그렇지 않다면, 임시 테이블을 만드는 #의 사용은 무엇인가?

해결법

  1. ==============================

    1.예. 당신은 임시 테이블을 생성하는 "#"(해시)와 테이블 이름을 접두사해야합니다.

    예. 당신은 임시 테이블을 생성하는 "#"(해시)와 테이블 이름을 접두사해야합니다.

    나중에 테이블이 필요하지 않은 경우, 진행 및 그것을 만들 수 있습니다. 임시 테이블은 매우 일반적인 테이블 등이있다. 그러나, tempdb의 생성됩니다. 또한, EG의 경우, 즉 현재 세션을 통해서만 접근 : 다른 사용자의 시도가 당신에 의해 생성 된 임시 테이블에 액세스 할 경우, 그가 그렇게 할 수 없을 것입니다.

    "##는"(두 해시뿐만 아니라 다른 세션에 액세스 할 수 있습니다 "글로벌"임시 테이블을 작성합니다.

    임시 테이블의 기본 사항에 대한 링크 아래를 참조하십시오 : http://www.codeproject.com/Articles/42553/Quick-Overview-Temporary-Tables-in-SQL-Server-2005

    테이블의 함량이 5000 개 행이 & (MAX)를 같은 NVARCHAR 같은 데이터 유형 (MAX), VARBINARY를 포함하지 않는 경우, 테이블 변수를 사용하는 것이 좋습니다.

    그들은 단지 RAM에 저장되어있는 다른 변수처럼 그들이 가장 빠른 있습니다. 그들은하지 RAM에서뿐만 아니라 tempdb의 저장됩니다.

    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

  2. ==============================

    2.이 두 테이블 ItemBack1 및 # ItemBack1 차이는 처음에 다른 일시적인로서 여기서 영구 (영구)이라는 것이다.

    이 두 테이블 ItemBack1 및 # ItemBack1 차이는 처음에 다른 일시적인로서 여기서 영구 (영구)이라는 것이다.

    이제 경우는 다시 질문을 살펴

    답은이 전 #없이 테이블이 임시 테이블을 수 없기 때문에, 모든 세션과 범위의 독립적 인 것, 예입니다.

  3. from https://stackoverflow.com/questions/16749045/is-it-necessary-to-use-for-creating-temp-tables-in-sql-server by cc-by-sa and MIT license