Respostas:
INSERT INTO #TempTable (ID, Date, Name)
SELECT id, date, name
FROM physical_table
Para inserir todos os dados de todas as colunas, basta usar este:
SELECT * INTO #TempTable
FROM OriginalTable
Não se esqueça DROP
da tabela temporária depois de terminar com ela e antes de tentar criá-la novamente:
DROP TABLE #TempTable
CREATE
o#TempTable
SELECT ID , Date , Name into #temp from [TableName]
SELECT *
INTO #TempTable
FROM table
Forneci duas abordagens para resolver o mesmo problema,
Solução 1: essa abordagem inclui 2 etapas, primeiro crie uma tabela temporária com o tipo de dados especificado, depois insira o valor da tabela de dados existente.
CREATE TABLE #TempStudent(tempID int, tempName varchar(MAX) )
INSERT INTO #TempStudent(tempID, tempName) SELECT id, studName FROM students where id =1
SELECT * FROM #TempStudent
Solução 2: Essa abordagem é simples, onde é possível inserir diretamente os valores na tabela temporária, onde o sistema automaticamente cria a tabela temporária com o mesmo tipo de dados da tabela original.
SELECT id, studName INTO #TempStudent FROM students where id =1
SELECT * FROM #TempStudent
A consulta correta:
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
, etc transforma a resposta em uma duplicata exata: stackoverflow.com/a/15762663/1476885
insert into #temptable (col1, col2, col3)
select col1, col2, col3 from othertable
Observe que isso é considerado uma má prática:
insert into #temptable
select col1, col2, col3 from othertable
Se a definição da tabela temporária mudar, o código poderá falhar no tempo de execução.
INSERT INTO #TempTable(ID, Date, Name)
SELECT OtherID, OtherDate, OtherName FROM PhysicalTable
A operação básica da tabela temporária é fornecida abaixo, modifica e usa conforme seus requisitos,
- CRIAR UMA TABELA DE TEMP
CREATE TABLE #MyTempEmployeeTable(tempUserID varchar(MAX), tempUserName varchar(MAX) )
- INSERIR VALOR EM UMA TABELA DE TEMP
INSERT INTO #MyTempEmployeeTable(tempUserID,tempUserName) SELECT userid,username FROM users where userid =21
- CONSULTE UMA TABELA DE TEMP [Isso funcionará apenas na mesma sessão / instância, não em outra instância da sessão do usuário]
SELECT * FROM #MyTempEmployeeTable
- EXCLUIR VALOR NA TABELA TEMP
DELETE FROM #MyTempEmployeeTable
- DROP A TEMP TABLE
DROP TABLE #MyTempEmployeeTable