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.
    0
    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
      0
      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"
        
        0
    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
      0
      1. Si c'est bien du SQL server, il faut entourer la date de simple quotes 'date' et pas des doubles "date".
        0
        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.
          0
          1. Il faut sûrement agrandir le champ contenant la date...
            0