Odpowiedzi:
INSERT INTO #TempTable (ID, Date, Name)
SELECT id, date, name
FROM physical_table
SELECT ID , Date , Name into #temp from [TableName]
SELECT *
INTO #TempTable
FROM table
Podałem dwa podejścia do rozwiązania tego samego problemu,
Rozwiązanie 1: To podejście obejmuje 2 kroki, najpierw utwórz tabelę tymczasową o określonym typie danych, a następnie wstaw wartość z istniejącej tabeli danych.
CREATE TABLE #TempStudent(tempID int, tempName varchar(MAX) )
INSERT INTO #TempStudent(tempID, tempName) SELECT id, studName FROM students where id =1
SELECT * FROM #TempStudent
Rozwiązanie 2: To podejście jest proste, w którym można bezpośrednio wstawić wartości do tabeli tymczasowej, gdzie system automatycznie zadba o utworzenie tabeli tymczasowej z tym samym typem danych, co tabela pierwotna.
SELECT id, studName INTO #TempStudent FROM students where id =1
SELECT * FROM #TempStudent
Właściwe zapytanie:
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
, itd przekształca odpowiedź na dokładną kopią: stackoverflow.com/a/15762663/1476885
insert into #temptable (col1, col2, col3)
select col1, col2, col3 from othertable
Pamiętaj, że jest to uważane za złą praktykę:
insert into #temptable
select col1, col2, col3 from othertable
Jeśli definicja tabeli tymczasowej ulegnie zmianie, kod może się nie powieść w czasie wykonywania.
INSERT INTO #TempTable(ID, Date, Name)
SELECT OtherID, OtherDate, OtherName FROM PhysicalTable
Podstawową obsługę tabeli tymczasowej podano poniżej, zmodyfikuj i używaj zgodnie z własnymi wymaganiami,
- STWÓRZ TABELĘ TEMP
CREATE TABLE #MyTempEmployeeTable(tempUserID varchar(MAX), tempUserName varchar(MAX) )
- WSTAW WARTOŚĆ DO TABELI TEMP
INSERT INTO #MyTempEmployeeTable(tempUserID,tempUserName) SELECT userid,username FROM users where userid =21
- ZAPYTAJ TABELĘ TEMP [To będzie działać tylko w tej samej sesji / Instancji, a nie w innej instancji sesji użytkownika]
SELECT * FROM #MyTempEmployeeTable
- USUŃ WARTOŚĆ Z TABELI TEMP
DELETE FROM #MyTempEmployeeTable
- OPUSZCZ TABELĘ TEMP
DROP TABLE #MyTempEmployeeTable