INSERT INTO временная таблица с подзапросом - PullRequest
0 голосов
/ 10 июля 2019

Я пытаюсь вставить в временную таблицу insert into....select.мой текущий оператор выглядит следующим образом:

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

Я хочу иметь возможность поместить эту информацию во временную таблицу, если это возможно, я хотел бы вставить ее во временную таблицу в верхней части моего запроса в SQL Server.

Ответы [ 3 ]

1 голос
/ 10 июля 2019

Вы можете просто сделать:

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

или сначала создать временную таблицу, а затем выполнить вставку:

create table #tempTable(AccountName varchar(100), AccountNumber int)-- so on..
insert into #tempTable(AccountName, AccountNumber)
select AccountName, AccountNumber from dbo.InsuranceAccount
0 голосов
/ 10 июля 2019

Это может помочь.

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 голосов
/ 10 июля 2019

Есть несколько способов сделать это, используя временные таблицы в SQL.

Если вы просто хотите вставить содержимое выбора в временную таблицу, используйте следующий метод.Имейте в виду, что вы не можете использовать это в цикле, потому что он создает временную таблицу каждый раз, когда выполняется выбор:

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

Вы также можете предварительно определить временную таблицу и затем использовать INSERT INTO, как если былюбой другой стол.Этот метод хорош тем, что вы можете использовать этот тип временной таблицы в цикле WHILE и вставлять данные в каждый цикл.

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

insert into #temp_table
select 
  AccountNumber
  , AccountName
  , AccountCreated
  , AccountEnded
  , PayoffDate      
from dbo.InsuranceAccount
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...