2009-10-31 4 views
0

Pourriez-vous s'il vous plaît m'aider avec SQL présent?Copier le tableau et le champ Merge

Je copie la table 1 vers une autre table et fusionne les champs en même temps.

je reçois une erreur sur le +

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

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

Répondre

3

Le texte ajouté doit en fait être dans l'instruction SELECT il ressemblerait plus

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

+1 Le vrai tableau semble s'appeler dSCHEMA.TABLE_COPY_TO tho :) – Andomar

0

Je suppose que vous êtes essayer de créez une colonne calculée dans [dSCHEMA]. [TABLE_COPY_TO].

Dans ce cas, vous devez définir correctement le DDL. Voici un exemple

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 

Sinon, avant l'insertion, vous pouvez ajouter la colonne calculée à votre table puis insérez comme

Table Alter TABLE_COPY_TO Ajouter (FieldC AS (FieldA + '-' + FieldB))

insérer dans .......

Questions connexes