2009-10-31 3 views
0

Не могли бы вы помочь мне с нынешним 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] 

ответ

3

Прилагаемый текст на самом деле должен быть в ЗЕЬЕСТЕ так будет выглядеть как

Insert Into [dSCHEMA].[TABLE_COPY_TO] 
    (FieldA, FieldB, FieldC) 
Select FieldA, FieldB, FieldA + '-' + FieldB 
From [dSCHEMA].[TABLE_COPY_FROM] 
+0

+1 появляется реальная таблица будет называться dSCHEMA.TABLE_COPY_TO Тхо :) – Andomar

0

Я думаю, вы пытаются создайте вычисленный столбец в [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 

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

Alter стол TABLE_COPY_TO Добавить (FieldC AS (FieldA + '-' + FieldB))

вставки в .......

Смежные вопросы