Copier base to base

J'ai deux base de donner sur même serveur :
1-Windows server 2000
2-SQL server 2000
Mes deux bases sont identiques
Mais la base2 contient des informations jusqu'à 31/08/2009
Et la base 1 contient des informations jusqu'aux aujourd'hui
les deux base commence de la même année: veut dire au 01/03/2005
Je voudrai insère les informations qui me manque de la base1 ver base2
merci d'avance

5 réponses

  1. Bonjour,
    S'il n'y a qu'une table dans les deux bases, il suffit de faire :
    INSERT INTO base2.table (champs) VALUES (SELECT champs from  base1.table) WHERE date>"31/08/2009") 
    Avec le format date qui va bien évidemment.

    Sinon, avec plusieurs tables, il faudrait insérer les ID des lignes de la tables de faits datant d'après le 31/08/2009, et copier les tables de dimensions.
    1. bonjour
      cher amis j'ai mis la requette suivante :

      INSERT INTO nombase1.dbo.table1 (champ1) VALUES
      (SELECT champ from nombase2.dbo.table2 WHERE date>"2009-08-31 00:00:00.000")

      analyse de requette m'envoie les messages suivant:

      1-Syntaxe incorrecte vers le mot clé 'SELECT'.
      2-Ligne 2 : syntaxe incorrecte vers ')'.
      sache bien que tabl1 et table2 non pas ID mais sont identique dans leur création.

      merci pour tous
      1. Ah
        Toutes mes excuses, je me suis trompé dans la syntaxe : si les données que l'on veut insérer sont sélectionnées par un SELECT, il n'y a pas de VALUES.
        La requête devient donc :
        INSERT INTO nombase1.dbo.table1 (champ1) 
        SELECT champ from nombase2.dbo.table2 WHERE date>"2009-08-31 00:00:00.000"
        
    2. cher amis j'ai mis votre requette mais sql me retourne le message suivant

      "2009-08-31 00:00:00.000 "nom de colonne incorrect


      sachez que mon champs est datecreation
      et que j'ai mis datecreation a la place de date
      merci
      1. Si c'est bien du SQL server, il faut entourer la date de simple quotes 'date' et pas des doubles "date".
        1. cher amis j'ai fait exactement se que vous m'avais indiquer ecrire la date en simple quotes
          sql sevrer 2000 ma généré l'erreur suivante:

          La conversion d'un type de données CHAR en type DATETIME a donné une valeur hors des limites des valeurs de date et d'heure.
          L'instruction a été arrêtée.
          1. Il faut sûrement agrandir le champ contenant la date...