Insert avec condition

Résolu
javabdou Messages postés 23 Statut Membre -  
javabdou Messages postés 23 Statut Membre -
Bonjour à toutes et à tous,
j'aimerais faire une insertion dans une table en utilisant une condition.
j'ai essayé ce code:
INSERT
WHEN ([Condition]) THEN
INTO [TableName] ([ColumnName])
SELECT [ColumnName] FROM [TableName];

mais il ne marche pas!!! l'erreur resultante est "ORA-00925: Mot-clé INTO absent"

Est-ce que quelqu'un peut me suggerer une solution pour palier a ce probleme

Merci d'avance
A voir également:

15 réponses

zinmes Messages postés 22 Statut Membre 50
 
Bonjour
le insert il es toujours suivit par into donc tu mets ta condition bien avant le insert into c'est a dire tu met ta condtion when(condition)then insert into...
bonne chance
0
djkent1 Messages postés 381 Statut Membre 48
 
Bonjour,
Je pense que ce serait mieux comme ça, mais rien du sur

INSERT INTO [TableName] ([ColumnName])
WHEN ([Condition]) THEN
SELECT [ColumnName] FROM [TableName];

Cordialment,
0
javabdou Messages postés 23 Statut Membre
 
Merci pour vos reponse,
j'ai essayé ce que vous avez suggerer mais aucune des solutions ne marche :s
en fait j'ai essayé de placer la clause de la conditon un peu partout mais cela n'a rien donné
0
zinmes Messages postés 22 Statut Membre 50
 
est ce que tu peux envoyer la partie du code exacte que tu utilise
0
javabdou Messages postés 23 Statut Membre
 
voila le code
insert when (ktp_gl_rapp.flag is null ) then
into ktp_gl_rapp(compteur, date_creation,
op_finance, montant_db,
montant_cr, desc_ligne,
num_compta, flag)
select ktp_gl_seq.nextval,default_effective_date,
doc_sequence_value, entered_dr, entered_cr,
desc_l, to_number(substr(desc_l,length(desc_l)-7,8)),
null
from ba_gl_ktp_v

NB: voici le lien ou j'ai trouvé la syntaxe
http://psoug.org/reference/insert.html
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
djkent1 Messages postés 381 Statut Membre 48
 
Tu utilise quoi comme SGBD?
Je peux peu etre t'aider sur du oracle mais faudra patienter jusqu'à ce soir que je fasse des tests chez moi, enfin si personne ne te réépond d'ici la ( je te le souhaite pas :D )

Bon courage.
0
javabdou Messages postés 23 Statut Membre
 
j'utilise une base de donnée oracle et j'utilise SQL navigator pour faire mes requetes

quant a la reponse, j'espere avoir une solution des que possible
et merci pour ton aide djkent1
0
zinmes Messages postés 22 Statut Membre 50
 
voila la syntaxe de linsertion
insert into nomtable values('champs1','champs2'...)
donc il ne faut pas decoupé la requete sinon ca ne vas pas s'esxecuter
et si tu veux faire la condition tu la met ailleure avant ou apres la requete ca depond de ce que tu veux obtenir
aussi il faut geré les apostrophes selon les types de champs que tu as sur ta base
mais je crois que tu dois utiliser une funtion ou une procedure qui te permet de geré ta condition.
0
javabdou Messages postés 23 Statut Membre
 
salut zinmes,

je pense aussi que la seule solution reste l'utilisation d'une procedure. mais le probleme est que l'insertion en question est executée dans un code java. donc les choses se corsent!!!!!

mais si y'a pas de solution a ca -chose que je ne crois, car tout probleme a une ou plusieurs solutions :) - je vais devoir changer mon algo
0
djkent1 Messages postés 381 Statut Membre 48
 
J'ai lus quelques trucs, peu etre que sous la forme:

INSERT INTO [TableName] ([ColumnName])
VALUES (SELECT [ColumnName] FROM [TableName] )
WHEN ([Condition]);

Mais sa vient d'un post sur mysql alors ...
0
zinmes Messages postés 22 Statut Membre 50
 
bonne chance et fait nous part de la solution des que tu l'atteins
0
javabdou Messages postés 23 Statut Membre
 
cela ne marche pas non plus!!!
0
djkent1 Messages postés 381 Statut Membre 48
 
Cette fois sa vient d'un article sur oracle, c'est peu etre mieu:

INSERT INTO TaTable
(NomColonne, NomColonne2)
SELECT AutreColonne AutreColonne2
FROM AutreTable
WHERE Condition;
0
javabdou Messages postés 23 Statut Membre
 
djkent1, j'ai changé de condition et ca marche. donc syntaxiquement c correcte
merci beaucoup pour ton aide
0
djkent1 Messages postés 381 Statut Membre 48
 
Ah, et bien tant mieu, peux tu montrer la requete final stp?
Ca pourras toujours etre utile

Bon courage,
0
javabdou Messages postés 23 Statut Membre
 
voila:

INSERT INTO MaTable(colonne1, colonne2,...)
SELECT colonne1, colonne2,...
FROM MaVue
WHERE condition
0