Скопировать таблицу и объединить поле - PullRequest
0 голосов
/ 31 октября 2009

Не могли бы вы помочь мне с нынешним SQL?

Я копирую 1 таблицу в другую и в то же время объединяю поля.

Я получаю сообщение об ошибке +

INSERT INTO [dSCHEMA].[TABLE_COPY_TO]
(
  [FIELD_A],
  [FIELD_B],
  [FIELD_A] + '-' + [FIELD_B]

)
SELECT [FIELD_A]
      ,[FIELD_B]
  FROM [dSCHEMA].[TABLE_COPY_FROM]

Ответы [ 2 ]

3 голосов
/ 31 октября 2009

Добавленный текст действительно должен быть в операторе SELECT, чтобы он выглядел больше как

Insert Into [dSCHEMA].[TABLE_COPY_TO] 
    (FieldA, FieldB, FieldC)
Select FieldA, FieldB, FieldA + '-' + FieldB
From [dSCHEMA].[TABLE_COPY_FROM]
0 голосов
/ 01 ноября 2009

Полагаю, вы пытаетесь создать вычисляемый столбец в [dSCHEMA]. [TABLE_COPY_TO].

В этом случае вы должны правильно определить DDL. Ниже приведен пример

declare @tblCopyFrom table
(
    fieldA varchar(10)
    ,fieldB varchar(10)
)
declare @tblCopyTo table
(
        fieldA varchar(10)
        ,fieldB varchar(10)
        ,fieldC AS (fieldA + '-' + fieldB) -- Computed Column
)

insert into @tblCopyFrom 
      select 'valA1','valB1' union all
      select 'valA2','valB2' union all
      select 'valA3','valB3' union all
      select 'valA4','valB4' union all
      select 'valA5','valB5' 

insert into @tblCopyTo (fieldA,fieldB)
select * from @tblCopyFrom
select * from @tblCopyTo

Иначе, перед вставкой вы можете добавить вычисляемый столбец в вашу таблицу и затем вставить как

Изменить таблицу TABLE_COPY_TO Добавить (поле C AS (поле A + '-' + поле B))

вставить в .......

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...