Computer >> 컴퓨터 >  >> 프로그래밍 >> SQL Server

SQL Server 전역 임시 테이블(Global Temporary Table) 생성 및 사용법

SQL Server(Transact-SQL)에서 전역 임시 테이블(Global Temporary Table)은 세션과 별개로 생성되며, 모든 사용자와 세션이 접근할 수 있는 임시 테이블입니다. 로컬 임시 테이블(#)과 달리, 전역 임시 테이블은 이름 앞에 ##(샵 두 개)을 붙여 생성한다는 점이 특징입니다.

전역 임시 테이블 생성 문법

CREATE TABLE ##테이블명
(
    열1 데이터타입 [ NULL | NOT NULL ],
    열2 데이터타입 [ NULL | NOT NULL ],
    ...
);

매개변수 설명

테이블명

생성하려는 전역 임시 테이블의 이름입니다. 반드시 ## 문자로 시작해야 합니다.

열1, 열2

전역 임시 테이블에 생성할 열(column)입니다. 각 열에는 하나의 데이터 타입을 지정해야 하며, NULL 또는 NOT NULL 여부를 설정할 수 있습니다. 아무것도 지정하지 않으면 기본값은 NULL로 적용됩니다.

사용 가능한 데이터 타입은 SQL Server 공식 데이터 타입 목록을 참고하시기 바랍니다.

참고 사항

  • 전역 임시 테이블의 이름은 항상 ##로 시작합니다(예: ##nhanvien).
  • 전역 임시 테이블은 tempdb 데이터베이스에 저장됩니다.
  • 해당 테이블을 참조하던 모든 사용자가 세션 연결을 종료하면, SQL Server가 자동으로 테이블을 삭제합니다.

예제

CREATE TABLE ##nhanvien
(
    id_nhanvien INT PRIMARY KEY,
    ho VARCHAR(50) NOT NULL,
    ten VARCHAR(50),
    luong MONEY
);

위 예제에서 CREATE TABLE 명령문은 SQL Server에 다음 4개의 열을 가진 ##nhanvien이라는 전역 임시 테이블을 생성합니다.

  1. id_nhanvien: INT 데이터 타입, NULL 값을 허용하지 않음
  2. ho: VARCHAR(50) 데이터 타입(최대 50자), NULL 값을 허용하지 않음
  3. ten: VARCHAR(50) 데이터 타입, NULL 값 허용
  4. luong: MONEY 데이터 타입, NULL 값 허용

또한 ##nhanvien 테이블의 기본 키(PRIMARY KEY)는 id_nhanvien 열로 지정되어 있습니다.

##nhanvien 테이블은 tempdb에 저장되며, 이 테이블을 참조하던 모든 사용자가 SQL Server 세션에서 연결을 끊는 시점에 자동으로 삭제됩니다. 따라서 여러 세션에서 일시적으로 데이터를 공유해야 하는 경우에 전역 임시 테이블이 유용하게 활용됩니다.