Gegevens invoegen in een tijdelijke tabel

Nadat je een tijdelijke tabel hebt gemaakt en de gegevenstypen als volgt hebt gedeclareerd;

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

Hoe voeg ik dan de relevante gegevens in die al op een fysieke tafel in de database staan?


Antwoord 1, autoriteit 100%

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

Antwoord 2, autoriteit 46%

Gebruik dit om alle gegevens uit alle kolommen in te voegen:

SELECT * INTO #TempTable
FROM OriginalTable

Vergeet niet om de tijdelijke tabel DROP te zetten nadat je ermee klaar bent en voordat je hem opnieuw probeert te maken:

DROP TABLE #TempTable

Antwoord 3, autoriteit 29%

SELECT  ID , Date , Name into #temp from [TableName]

Antwoord 4, autoriteit 16%

Mijn manier van Insert in SQL Server. Ook controleer ik meestal of er een tijdelijke tabel bestaat.

IF OBJECT_ID('tempdb..#MyTable') IS NOT NULL DROP Table #MyTable
SELECT b.Val as 'bVals'
  INTO #MyTable
FROM OtherTable as b

Antwoord 5, autoriteit 8%

SELECT * 
INTO #TempTable
FROM table

Antwoord 6, autoriteit 7%

Ik heb twee benaderingen gegeven om hetzelfde probleem op te lossen,

Oplossing 1: Deze aanpak omvat 2 stappen, maak eerst een tijdelijke tabel met
opgegeven gegevenstype, voeg vervolgens de waarde van de bestaande gegevens in
tafel.

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

Oplossing 2: Deze aanpak is eenvoudig, waarbij u de waarden direct kunt invoegen in
tijdelijke tabel, waar het systeem automatisch zorgt voor het maken
de tijdelijke tabel met hetzelfde gegevenstype van de originele tabel.

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

Antwoord 7, autoriteit 3%

Nadat je de tijdelijke tabel hebt gemaakt, doe je gewoon een normale INSERT INTO () SELECT FROM

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

Antwoord 8, autoriteit 3%

De juiste vraag:

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

Antwoord 9, autoriteit 2%

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

Merk op dat dit als een slechte gewoonte wordt beschouwd:

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

Als de definitie van de tijdelijke tabel zou veranderen, zou de code tijdens runtime kunnen mislukken.


Antwoord 10, autoriteit 2%

De basisbediening van de tijdelijke tabel wordt hieronder gegeven, wijzig en gebruik volgens uw vereisten,

— MAAK EEN TIJDELIJKE TABEL

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

— VOEG WAARDE IN IN EEN TEMP TABEL

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

— QUERY A TEMP TABLE [Dit werkt alleen in dezelfde sessie/instantie, niet in een andere gebruikerssessie]

SELECT * FROM #MyTempEmployeeTable

— VERWIJDER WAARDE IN TEMP TABEL

DELETE FROM #MyTempEmployeeTable

— DROP EEN TIJDELIJKE TAFEL

DROP TABLE #MyTempEmployeeTable

Antwoord 11

INSERT INTO #TempTable(ID, Date, Name)
SELECT OtherID, OtherDate, OtherName FROM PhysicalTable

Antwoord 12

insert #temptable
select idfield, datefield, namefield from yourrealtable

Antwoord 13

Alle bovengenoemde antwoorden zullen bijna aan het doel voldoen. U moet echter de tijdelijke tabel laten vallen na alle bewerkingen erop. U kunt volgen-

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;

Antwoord 14

Alle bovengenoemde antwoorden zullen bijna aan het doel voldoen. U moet echter de tijdelijke tabel laten vallen na alle bewerkingen erop. U kunt volgen-

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;

LEAVE A REPLY

Please enter your comment!
Please enter your name here

eleven − eight =

Other episodes