[sql] 임시 테이블에 데이터 삽입

임시 테이블을 작성하고 이와 같이 데이터 유형을 선언 한 후;

 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


답변

올바른 검색어 :

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