2017-10-02 3 views
0

J'utilise Sybase ASA7, j'ai 2 tables dans une base de données.Copier la valeur du champ de base de données d'une table à l'autre

Les deux tables contiennent 2 champs - ID et eventDateTime avec 20 dossiers.

ID champ = 1 à 20 dans les deux tables.

Le tableau 1 présente le champ eventDateTime remplis les uns contre les ID, le tableau 2 ne possède pas, ils ne sont que des valeurs nulles.

Comment est-ce que je passerais en boucle et copierais chaque champ eventDateTime du tableau 1 au tableau 2 afin que les deux tables correspondent?

Pas vraiment familier avec SQL, alors excuses.

Répondre

0

Une option:

update Table2 
set EventDateTime = Table1.EventDateTime 
from Table2 
join Table1 
on  Table2.ID   = Table1.ID 
and Table2.EventDateTime is NULL 

Une autre option, en fonction de vos commentaires que les tableaux sont la même structure et ont les mêmes données (sauf pour les colonnes eventDateTime NULL):

delete Table2 

insert into Table2 (ID, EventDateTime) select ID, EventDateTime from Table1 

Bien Si vous avez des déclencheurs de suppression/insertion et/ou des contraintes RI sur Table2, cela peut ne pas être conseillé (en fonction de la logique de déclenchement) ou faisable (dans le cas de contraintes PK/FK).

+0

La première option est exactement ce dont j'avais besoin, aussi simple que cela :) Merci beaucoup pour votre aide. –