Copier base to base

nadir4822 Messages postés 8 Statut Membre -  
Morgothal Messages postés 1350 Statut Membre -
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. Morgothal Messages postés 1350 Statut Membre 184
     
    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
  2. nadir4822 Messages postés 8 Statut Membre
     
    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. Morgothal Messages postés 1350 Statut Membre 184
       
      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
  3. nadir4822 Messages postés 8 Statut Membre
     
    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
  4. Morgothal Messages postés 1350 Statut Membre 184
     
    Si c'est bien du SQL server, il faut entourer la date de simple quotes 'date' et pas des doubles "date".
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. nadir4822 Messages postés 8 Statut Membre
     
    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. Morgothal Messages postés 1350 Statut Membre 184
       
      Il faut sûrement agrandir le champ contenant la date...
      0