programing

임시 테이블에 데이터 삽입

goodsources 2023. 4. 11. 21:58
반응형

임시 테이블에 데이터 삽입

임시 테이블을 만들고 이와 같은 데이터 유형을 선언한 후

CREATE TABLE #TempTable(
ID int,
Date datetime,
Name char(20))

데이터베이스 내의 물리 테이블에 이미 저장되어 있는 관련 데이터를 삽입하려면 어떻게 해야 합니까?

INSERT INTO #TempTable (ID, Date, Name) 
SELECT id, date, name 
FROM physical_table

모든 열의 모든 데이터를 삽입하려면 다음을 사용하십시오.

SELECT * INTO #TempTable
FROM OriginalTable

잊지 말고DROP임시 테이블을 완료한 후 다시 작성하기 전에 다음 절차를 수행합니다.

DROP TABLE #TempTable
SELECT  ID , Date , Name into #temp from [TableName]

나의 방식InsertSQL Server에서 사용할 수 있습니다.또한 저는 임시 테이블이 있는지 주로 확인합니다.

IF OBJECT_ID('tempdb..#MyTable') IS NOT NULL DROP Table #MyTable

SELECT b.Val as 'bVals'
  INTO #MyTable
FROM OtherTable as b
SELECT * 
INTO #TempTable
FROM table

저는 같은 문제를 해결하기 위해 두 가지 방법을 제공했습니다.

해결책 1: 이 방법에는 2개의 단계가 있습니다.첫 번째로 지정된 데이터 타입의 임시 테이블을 작성한 후 기존 데이터 테이블의 값을 삽입합니다.

CREATE TABLE #TempStudent(tempID  int, tempName  varchar(MAX) )
INSERT INTO #TempStudent(tempID, tempName) SELECT id, studName FROM students where id =1

SELECT * FROM #TempStudent

해결책 2: 이 방법은 간단합니다.임시 테이블에 직접 값을 삽입하면 원래 테이블의 동일한 데이터 유형을 사용하여 자동으로 임시 테이블이 생성됩니다.

SELECT id, studName  INTO #TempStudent FROM students where id =1

SELECT * FROM #TempStudent

임시 테이블을 만든 후 일반 작업을 수행합니다.INSERT INTO () SELECT FROM

INSERT INTO #TempTable (id, Date, Name)
SELECT t.id, t.Date, t.Name
FROM yourTable t

올바른 쿼리:

drop table #tmp_table

select new_acc_no, count(new_acc_no) as count1
into #tmp_table
from table
where unit_id = '0007' 
group by unit_id, new_acc_no
having count(new_acc_no) > 1
insert into #temptable (col1, col2, col3)
select col1, col2, col3 from othertable

이는 잘못된 관행으로 간주됩니다.

insert into #temptable 
select col1, col2, col3 from othertable

임시 테이블의 정의가 변경되면 실행 시 코드가 실패할 수 있습니다.

Temporary 테이블의 기본 조작은 다음과 같습니다.요구에 따라 수정하여 사용하십시오.

­ 임시 테이블 작성

CREATE TABLE #MyTempEmployeeTable(tempUserID  varchar(MAX), tempUserName  varchar(MAX) )

­ 임시 테이블에 값을 삽입하는 독자

INSERT INTO #MyTempEmployeeTable(tempUserID,tempUserName) SELECT userid,username FROM users where userid =21

-- TEMP TABLE [이것은 다른 사용자 세션인스턴스가 아닌 동일한 세션/인스턴스에서만 동작합니다]

SELECT * FROM #MyTempEmployeeTable

­ TEMP 테이블의 값을 삭제합니다.

DELETE FROM #MyTempEmployeeTable

­ 임시 테이블을 드롭하는 독자

DROP TABLE #MyTempEmployeeTable
INSERT INTO #TempTable(ID, Date, Name)
SELECT OtherID, OtherDate, OtherName FROM PhysicalTable
insert #temptable
select idfield, datefield, namefield from yourrealtable

위에서 언급한 모든 답변은 거의 목적을 충족시킬 것입니다.그러나 모든 작업을 마친 후 임시 테이블을 삭제해야 합니다.따라갈 수 있어...

INSERT INTO #TempTable (ID, Date, Name) 
SELECT id, date, name 
FROM physical_table;

IF OBJECT_ID('tempdb.dbo.#TempTable') IS NOT NULL 
    DROP TABLE #TempTable;

언급URL : https://stackoverflow.com/questions/11778952/inserting-data-into-a-temporary-table

반응형