0
votes

INSERT INTO table temporaire avec sous-requête

J'essaie d'insérer dans la table temporaire avec un insérer dans .... sélectionnez . ma déclaration actuelle ressemble à ce qui suit:

insert into ods.account
(
  AccountNumber,
  AccountName,
  AccountCreated,
  AccountEnded,
  PayoffDate
)
select
  AccountNumber
  , AccountName
  , AccountCreated
  , AccountEnded
  , PayoffDate 
from dbo.InsuranceAccount

Je veux pouvoir mettre ces informations dans une table temporaire si possible Je voudrais insérer dans une table temporaire en haut de ma requête en SQL Serveur.


3 Réponses :


1
votes

Vous pouvez simplement faire:

create table #tempTable(AccountName varchar(100), AccountNumber int)-- so on..
insert into #tempTable(AccountName, AccountNumber)
select AccountName, AccountNumber from dbo.InsuranceAccount

ou vous pouvez d'abord créer votre table temporaire et ensuite faire l'insertion:

select
  AccountNumber
  , AccountName
  , AccountCreated
  , AccountEnded
  , PayoffDate into #myTempTable
from dbo.InsuranceAccount


0 commentaires

0
votes

Il y a plusieurs façons de faire cela en utilisant des tables temporaires en SQL.

Si vous souhaitez simplement insérer le contenu d'une sélection dans une table temporaire, utilisez la méthode suivante. Gardez à l'esprit que vous ne pouvez pas l'utiliser dans une boucle car il crée la table temporaire à chaque exécution de la sélection:

create table #temp_table
(
  field1 int not null,
  field2 char(1),
  ...
)

insert into #temp_table
select 
  AccountNumber
  , AccountName
  , AccountCreated
  , AccountEnded
  , PayoffDate      
from dbo.InsuranceAccount

Vous pouvez également prédéfinir la table temporaire, puis l'utiliser INSERT INTO comme vous le feriez pour n'importe quelle autre table. Cette méthode est bonne car vous pouvez utiliser ce type de table temporaire dans une boucle WHILE et insérer des données à chaque boucle.

select
  AccountNumber
  , AccountName
  , AccountCreated
  , AccountEnded
  , PayoffDate 
into #temp_table      
from dbo.InsuranceAccount


0 commentaires

0
votes

Cela peut aider.

IF OBJECT_ID('temp..#InsuranceAccount') IS NOT NULL
BEGIN
    DROP TABLE #InsuranceAccount
END

SELECT  AccountNumber
      , AccountName
      , AccountCreated
      , AccountEnded
      , PayoffDate 
INTO  #InsuranceAccount
FROM dbo.InsuranceAccount


0 commentaires