[sql] 스토어드 프로시저의 테이블 변수와 임시 테이블

스토어드 프로시저는 데이터베이스에서 자주 사용되는 기능을 수행하기 위해 미리 컴파일된 SQL 쿼리를 저장하고 실행하는 데 사용됩니다. 스토어드 프로시저를 작성할 때 테이블 데이터를 임시로 저장하거나 처리해야 하는 경우가 있습니다. 이때 테이블 변수임시 테이블이 사용됩니다.

테이블 변수

테이블 변수는 스토어드 프로시저 내에서 사용되는 임시 데이터를 저장하는 데 사용됩니다. 다음은 테이블 변수를 선언하고 사용하는 예제입니다.

DECLARE @TempTable TABLE (
    ID INT,
    Name VARCHAR(50)
);

INSERT INTO @TempTable (ID, Name) VALUES (1, 'John');
INSERT INTO @TempTable (ID, Name) VALUES (2, 'Jane');

SELECT * FROM @TempTable;

테이블 변수는 프로시저 내에서만 사용되며 프로시저가 실행 중인 동안 데이터를 유지합니다. 테이블 변수를 사용하면 임시 데이터를 효율적으로 처리할 수 있습니다.

임시 테이블

임시 테이블은 스토어드 프로시저가 실행될 때만 존재하는 테이블입니다. 임시 테이블을 사용하면 다양한 프로시저 간에 데이터를 공유하거나 임시 데이터를 저장할 수 있습니다. 다음은 임시 테이블을 만들고 사용하는 예제입니다.

CREATE TABLE #TempTable (
    ID INT,
    Name VARCHAR(50)
);

INSERT INTO #TempTable (ID, Name) VALUES (1, 'John');
INSERT INTO #TempTable (ID, Name) VALUES (2, 'Jane');

SELECT * FROM #TempTable;

임시 테이블은 특정 세션 내에서만 존재하며 세션이 종료되면 자동으로 삭제됩니다.

결론

스토어드 프로시저 내에서 임시 데이터를 다룰 때 테이블 변수와 임시 테이블을 사용할 수 있습니다. 테이블 변수는 프로시저 내에서만 유효하고 데이터를 메모리에 저장하므로 속도가 빠릅니다. 반면 임시 테이블은 세션 내에서 유효하며 데이터베이스에 저장되므로 데이터 양이 많거나 여러 프로시저 간에 데이터를 공유해야 할 때 유용합니다.

더 많은 정보를 찾으려면 데이터베이스 관리 시스템의 공식 문서를 확인하십시오.