it-swarm.com.de

Einfügen von Daten in eine temporäre Tabelle

Nachdem Sie eine temporäre Tabelle erstellt und die Datentypen wie folgt deklariert haben:

 CREATE TABLE #TempTable(
 ID int,
 Date datetime,
 Name char(20))

Wie füge ich dann die relevanten Daten ein, die sich bereits in einer physischen Tabelle in der Datenbank befinden?

170
William
INSERT INTO #TempTable (ID, Date, Name) 
SELECT id, date, name 
FROM physical_table
224
alexsuslin

Um alle Daten aus allen Spalten einzufügen, verwenden Sie einfach Folgendes:

SELECT * INTO #TempTable
FROM OriginalTable

Vergessen Sie nicht, die temporäre Tabelle zu DROP, nachdem Sie damit fertig sind, und vorher Sie versuchen, sie erneut zu erstellen:

DROP TABLE #TempTable
81
Sheridan
SELECT  ID , Date , Name into #temp from [TableName]
72
Abdul Saboor

Meine Art von Insert in SQL Server. Außerdem überprüfe ich normalerweise, ob eine temporäre Tabelle existiert.

IF OBJECT_ID('tempdb..#MyTable') IS NOT NULL DROP Table #MyTable

SELECT b.Val as 'bVals'
  INTO #MyTable
FROM OtherTable as b
38
maxim
SELECT * 
INTO #TempTable
FROM table
15

Die richtige Abfrage:

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
8
Ahsan Ahmad

Nachdem Sie die temporäre Tabelle erstellt haben, würden Sie einfach ein normales INSERT INTO () SELECT FROM ausführen.

INSERT INTO #TempTable (id, Date, Name)
SELECT t.id, t.Date, t.Name
FROM yourTable t
7
Taryn

Ich habe zwei Ansätze angegeben, um das gleiche Problem zu lösen:

Lösung 1: Dieser Ansatz umfasst zwei Schritte: Erstellen Sie zunächst eine temporäre Tabelle mit dem angegebenen Datentyp und fügen Sie anschließend den Wert aus der vorhandenen Datentabelle ein.

CREATE TABLE #TempStudent(tempID  int, tempName  varchar(MAX) )
INSERT INTO #TempStudent(tempID, tempName) SELECT id, studName FROM students where id =1

SELECT * FROM #TempStudent

Lösung 2: Dieser Ansatz ist einfach: Sie können die Werte direkt in eine temporäre Tabelle einfügen, wobei das System automatisch dafür sorgt, dass die temporäre Tabelle mit demselben Datentyp wie die Originaltabelle erstellt wird.

SELECT id, studName  INTO #TempStudent FROM students where id =1

SELECT * FROM #TempStudent
7
Ipsita Sethi
insert into #temptable (col1, col2, col3)
select col1, col2, col3 from othertable

Beachten Sie, dass dies als schlechte Praxis angesehen wird:

insert into #temptable 
select col1, col2, col3 from othertable

Wenn sich die Definition der temporären Tabelle ändern würde, könnte der Code zur Laufzeit fehlschlagen.

5
Robbie Dee
INSERT INTO #TempTable(ID, Date, Name)
SELECT OtherID, OtherDate, OtherName FROM PhysicalTable
4
Yuriy Galanter

Grundlegender Betrieb der temporären Tabelle wird unten gegeben, ändern Sie und verwenden Sie entsprechend Ihren Anforderungen,

- ERSTELLE EINE TEMP-TABELLE

CREATE TABLE #MyTempEmployeeTable(tempUserID  varchar(MAX), tempUserName  varchar(MAX) )

- INSERT VALUE IN EINE TEMP-TABELLE

INSERT INTO #MyTempEmployeeTable(tempUserID,tempUserName) SELECT userid,username FROM users where userid =21

- QUERY A TEMP TABLE [Dies funktioniert nur in derselben Sitzung/Instanz, nicht in einer anderen Benutzersitzungsinstanz]

SELECT * FROM #MyTempEmployeeTable

- WERT IN TEMP-TABELLE LÖSCHEN

DELETE FROM #MyTempEmployeeTable

- TEMP-TABELLE TROPFEN

DROP TABLE #MyTempEmployeeTable
insert #temptable
select idfield, datefield, namefield from yourrealtable
2
podiluska