Bonjour, je voudrais faire une insertion conditionnelle.
Si ce que je veux rajouter dans la base est déjà dedans, on ne fait rien. Si il n'y est pas, on l'insère.

Pour information,j'ai une table sequencearn(Id_ARN,Sequence)
Le champs sequence est de type TEXT
J'ai trouvé sur internet différente possibilités
Aucune ne marche. Généralement,c'est une erreur de syntaxe.
Voici ce que j'ai testé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
IF NOT EXISTS( select Sequence,Id_ARN
from sequencearn
where Sequence like "AAA"
and Id_ARN="11")
 
INSERT INTO sequencearn(Sequence,Id_ARN) VALUES ("AAA","11")
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
IF (select count(*) from sequencearn where Sequence="AAA")
THEN // j'ai essayé avec et sans THEN
INSERT INTO sequencearn( Sequence, Id_Org)
VALUES (
"AAA", "1"
)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
insert into sequencearn(Sequence,Id_Org) VALUES (Sequence,Id_Org)where not exists
(select Sequence,Id_Org
from sequencearn
where Sequence ="AAA" and Id_Org="1")
Je pense que la solution doit être évidente mais je la vois pas .
Toute aide sera donc la bienvenue :p

XxX