После создания временной таблицы и объявления таких типов данных;
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
CREATE
в#TempTable
SELECT ID , Date , Name into #temp from [TableName]
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
new_acc_no
, unit_id = '0007'
, group by
, having count(new_acc_no) > 1
и т.д. прообразы ответ в точном дубликата: stackoverflow.com/a/15762663/1476885
insert into #temptable (col1, col2, col3)
select col1, col2, col3 from othertable
Обратите внимание, что это считается плохой практикой:
insert into #temptable
select col1, col2, col3 from othertable
Если определение временной таблицы изменится, код может выйти из строя во время выполнения.
INSERT INTO #TempTable(ID, Date, Name)
SELECT OtherID, OtherDate, OtherName FROM PhysicalTable
Основные операции временной таблицы приведены ниже, измените и используйте в соответствии с вашими требованиями,
- СОЗДАТЬ ТАБЛИЦУ TEMP
CREATE TABLE #MyTempEmployeeTable(tempUserID varchar(MAX), tempUserName varchar(MAX) )
- ВСТАВИТЬ ЗНАЧЕНИЕ В ТАБЛИЦУ ТЕМП.
INSERT INTO #MyTempEmployeeTable(tempUserID,tempUserName) SELECT userid,username FROM users where userid =21
- ЗАПРОСИТЕ ТАБЛИЦУ ВРЕМЕННОЙ [Это будет работать только в том же сеансе / экземпляре, но не в другом экземпляре пользовательского сеанса]
SELECT * FROM #MyTempEmployeeTable
- УДАЛИТЬ ЗНАЧЕНИЕ В ТАБЛИЦЕ ТЕМП.
DELETE FROM #MyTempEmployeeTable
- УДАЛИТЬ ТАБЛИЦУ ТЕМП.
DROP TABLE #MyTempEmployeeTable