임시 테이블에 데이터 삽입
임시 테이블을 만들고 이와 같은 데이터 유형을 선언한 후
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]
나의 방식Insert
SQL 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
'programing' 카테고리의 다른 글
패스워드 없이 다른 사용자로 스크립트를 실행하는 방법 (0) | 2023.04.11 |
---|---|
Excel - FILTERXML을 사용하여 문자열에서 하위 문자열 추출 (0) | 2023.04.11 |
소수점 두 자리만 표시되도록 플로트 만들기 (0) | 2023.04.11 |
MVVM WPF 프로젝트의 DataGrid에서 여러 항목 선택 (0) | 2023.04.11 |
WooCommerce - 제품 페이지 카테고리 가져오기 (0) | 2023.04.06 |