Précédent   Forum des professionnels en informatique > Bases de données > Oracle > SQL
SQL Forum d'entraide sur le SQL pour Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/11/2011, 13h07   #1
Invité de passage
 
Inscription : octobre 2011
Messages : 6
Détails du profil
Informations forums :
Inscription : octobre 2011
Messages : 6
Points : 0
Points : 0
Par défaut Vérifier si les données existent, si inexistant INSERT

Bonjour
Je voudrais faire vérifier si les valeurs suivant existe dans ma table : 'OTA',' ','OTAROT','','OTA ','0','','001','001','1,000','0','0','1,000','0,00','0,00','','0','',''

Si les valeurs n'existe pas ma requete est censé faire un INSERT dans de ces valeurs.
Mais m'a requete ne marche pas pouvez vous m'aidez?

Voici ma requete


Code :
1
2
3
MERGE INTO f_ftpap USING VALUES ('OTA','   ','OTAROT','','OTA   ','0','','001','001','1,000','0','0','1,000','0,00','0,00','','0','','');
WHEN NOT MATCHED THEN
INSERT INTO f_ftpap VALUES ('OTA','   ','OTAROT','','OTA   ','0','','001','001','1,000','0','0','1,000','0,00','0,00','','0','','');

Merci d'avance
duffman39 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2011, 13h33   #2
Membre Expert
 
Avatar de pacmann
 
Homme Pacman Pacman
Business analyst
Inscription : juin 2004
Messages : 1 417
Détails du profil
Informations personnelles :
Nom : Homme Pacman Pacman
Âge : 31
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Business analyst
Secteur : Finance

Informations forums :
Inscription : juin 2004
Messages : 1 417
Points : 2 309
Points : 2 309
Salut !

MERGE ne s'utilise pas ainsi... et par ailleurs tu n'en as pas besoin ici à mon avis.
(En plus il y a le point virgule en trop à la fin de la première ligne).
Si tu veux en savoir plus sur MERGE, je t'invite à faire une petite recherche sur le net.

Ici, tu peux faire par exemple :
Code :
1
2
3
4
5
6
7
8
9
10
 
INSERT INTO f_ftpap(tacol1, tacol2, ...)
SELECT 'OTA','   ','OTAROT','','OTA ','0','','001','001','1,000','0','0','1,000','0,00','0,00','','0','',''
FROM DUAL
WHERE NOT EXISTS
  (SELECT NULL
    FROM f_ftpap
    WHERE col1 = 'OTA'
        AND col2 = '   '
        AND ... --toutes les égalités avec tes valeurs)
Après, si tu as une clef primaire sur la table, il te suffit de juste tester cette clef.
__________________

(c'est ma photo)
Paku, Paku !
Pour les jeunes incultes : non, je ne suis pas un pokémon...

Le pacblog : http://pacmann.over-blog.com/
pacmann est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2011, 15h35   #3
Invité de passage
 
Inscription : octobre 2011
Messages : 6
Détails du profil
Informations forums :
Inscription : octobre 2011
Messages : 6
Points : 0
Points : 0
Merci pour ton aide ça marche, mais la fonction INSERT m'est utile car ma clé primaire est autoincrémenté. Et je ne peux pas me permettre de lui en donner une moi même.
C'est pour ça que j'aurais besoin d'avoir un insert si les valeurs n'existent pas.
duffman39 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h07.


 
 
 
 
Partenaires

Hébergement Web