IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement SQL Server Discussion :

Insert into my Table IF NOT EXIST


Sujet :

Développement SQL Server

  1. #1
    Membre très actif
    Homme Profil pro
    ertertaertar
    Inscrit en
    Mai 2013
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : ertertaertar

    Informations forums :
    Inscription : Mai 2013
    Messages : 314
    Par défaut Insert into my Table IF NOT EXIST
    Bonjour, je fais un Insert vers ma table , et quand je le fais une deuxième fois ça duplique les données , chose qui est logique , du coup je voudrais savoir comment faire le where if not exist dans ma requête j'ai essayer les truc de Select dedans ma requête mais ça n'a pas marché , voici ma requête pour l'insertion
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    "insert into pdf ([Repertoires],[Repertoires2],[Repertoires3],[Fichiers]) 
                        values ( Replace('" & selectedDirectory & "','\','/'),Replace(Substring('" & selectedFile & "',35,500),'\','/'),
                    Substring ('" & selectedFile & "', Charindex('\', '" & selectedFile & "', 
                         Charindex('\', '" & selectedFile & "') +1) +45, 
                         Charindex('\', Reverse('" & selectedFile & "'), 
                         Charindex('\', Reverse('" & selectedFile & "'), 
                         Charindex('\', Reverse('" & selectedFile & "')) + 8) + 8) -27) ,
                                  Right('" & selectedFile & "',11)) "
    Merci d'avance

  2. #2
    Membre très actif
    Homme Profil pro
    ertertaertar
    Inscrit en
    Mai 2013
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : ertertaertar

    Informations forums :
    Inscription : Mai 2013
    Messages : 314
    Par défaut
    quand je rajoute if not exists(select * from pdf ) au début de la requête , ça montre qu'il insère , mais ça n'insère plus rien je croyais ca marché mais même quand je rajoute un fichier ca ne le rajout pas donc cette commande ne marche pas aussi

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2008
    Messages
    699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Octobre 2008
    Messages : 699
    Par défaut
    Cherchez de la documentation sur les fonction MERGE en sql

    Sinon il y a un bête

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    IF NOT EXISTS (<la requete de test>)
    BEGIN
    INSERT INTO blablabla
    END

  4. #4
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    ou bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    INSERT INTO ...
    WHERE NOT EXISTS ...

  5. #5
    Membre très actif
    Homme Profil pro
    ertertaertar
    Inscrit en
    Mai 2013
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : ertertaertar

    Informations forums :
    Inscription : Mai 2013
    Messages : 314
    Par défaut
    j'ai déjà essayer tout ça mais ça ne marche pas

  6. #6
    Membre très actif
    Homme Profil pro
    ertertaertar
    Inscrit en
    Mai 2013
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : ertertaertar

    Informations forums :
    Inscription : Mai 2013
    Messages : 314
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    " 
                        If Not Exists(select * from pdf where Repertoires3=@Repertoires3 AND Fichiers=@Fichiers)
                         insert into pdf ([Repertoires],[Repertoires2],[Repertoires3],[Fichiers]) 
                        values ( Replace('" & selectedDirectory & "','\','/'),Replace(Substring('" & selectedFile & "',35,500),'\','/'),
                    Substring ('" & selectedFile & "', Charindex('\', '" & selectedFile & "', 
                         Charindex('\', '" & selectedFile & "') +1) +45, 
                         Charindex('\', Reverse('" & selectedFile & "'), 
                         Charindex('\', Reverse('" & selectedFile & "'), 
                         Charindex('\', Reverse('" & selectedFile & "')) + 8) + 8) -27) ,
                                  Right('" & selectedFile & "',11))
                         "

  7. #7
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2008
    Messages
    699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Octobre 2008
    Messages : 699
    Par défaut
    Peut être qu'un petit coup de Profiler pour voir la requête qui est réellement envoyée à SqlServer vous mettra sur la voie de ce qui ne fonctionne pas.

  8. #8
    Membre très actif
    Homme Profil pro
    ertertaertar
    Inscrit en
    Mai 2013
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : ertertaertar

    Informations forums :
    Inscription : Mai 2013
    Messages : 314
    Par défaut
    c'est quoi Profiler .???

Discussions similaires

  1. INSERT INTO seulement s'il n'existe pas dans la table.
    Par kOrt3x dans le forum Langage SQL
    Réponses: 13
    Dernier message: 16/09/2014, 17h13
  2. Insert into table if not exists
    Par cisco.nat dans le forum Langage SQL
    Réponses: 1
    Dernier message: 21/06/2013, 13h07
  3. INSERT INTO (plusieurs tables)
    Par ghis33 dans le forum Langage SQL
    Réponses: 9
    Dernier message: 25/08/2009, 16h15
  4. provider 0x80040E37 table does not exist
    Par steph04 dans le forum ASP
    Réponses: 8
    Dernier message: 29/04/2005, 10h56
  5. [DB2] create table... if not exists ?
    Par iubito dans le forum DB2
    Réponses: 6
    Dernier message: 23/03/2004, 18h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo