Flux rss
Rechercher : dans
Par : Mots clés Nom d'utilisateur
Messages sans réponse

[SQL] INSERT ou UPDATE suivant le cas...

Nico, le lundi 20 mars 2006 à 10:29:41 
 Signaler ce message aux modérateurs

Bonjour à tous,

Comment faire dans une requete SQL (sous Oracle9i), pour insérer un enregistrement si celui-ci n'est pas dans la Table, ou le modifier si celui-ci est présent.
Sans bien sûr faire de SELECT avant, je crois qu'il existe une commande qui permet de gérer l'INSERT ou l'UPDATE suivant le cas.
Merci à tous pour votre aide.

1

hssissen, le lundi 20 mars 2006 à 21:01:54

Salut Nico,
Tu as deja repondu a ta question. Dans SQL, pour insérer une nouvelle données sans qu'elle soit dans la table:
Pour insérer des données dans chaque colonne da la table sur une seule ligne:
insert into ta_table
values ('val1','val2',...,[NULL])

ou bien inserer une ou plusieurs nouvelles variables sur une seule ligne:
insert into ta_table
(var1,var2,....)
values ('valeur var1','valeur var2',...)

Bien sur ceci n'est qu'un simple exemple, on peut faire avec plusieurs autres optins. Par exemple insérer des variables d'un tableau dans un autre tableau...

Pour modifier des valeurs dans un tableau on le fait avec la commande UPDATE. Où l'exemple le plus simple est de modifier une seule colonne d'un tableau:
UPDATE ta_table
SET nom_colonne='value'
WHERE des_conditions

PS:bien sur il ya une infinité d'autres exemples, c'est a toi de voir ce que tu veux réellement faire!

J'esprère que ceci pourrait t'aider.

Répondre à hssissen

2

bacchuss, le lundi 20 mars 2006 à 22:13:39
  • +6

Salut

utilise MERGE __________________________________________
01001001110101001010100101 et plus si affinités

Répondre à bacchuss

3

Nico, le mardi 21 mars 2006 à 10:44:04

Merci bacchuss,
en effet cette commande semble répondre à mes besoins (vive Ora9i........)
A+

Répondre à Nico

4

Nico, le mardi 21 mars 2006 à 14:33:30

Décidemment, je ne m'en sort pas avec cette commande....
Peut etre, vous pouvez m'aider, car je cherche des infos sur le net, mais je ne trouve rien, et je n'arrive pas à construire m'a requete qui semble a 1ere vue "simple" :

Voila ce que je souhaite faire:
J'ai une table TABLE1 (2 champs : datevisite , nbvisite), je souhaite faire un UPDATE (de nbvisite=nbvisite+1) si datevisite=SYSDATE
Sinon (Pas d'enregistrement pour datevisite=SYSDATE), je souhaite faire un INSERT (avec datevisite=SYSDATE et nbvisite=1)

J'ai essayer de faire des choses avec la commande MERGE, mais sans résultat.

Merci d'avance pour votre aide.

Répondre à Nico

5

 bacchuss, le mardi 21 mars 2006 à 21:25:05
  • +16

MERGE INTO emp e
USING emp_ref s    
ON (e.emp_id = s.emp_id)
WHEN MATCHED THEN UPDATE 
	SET e.name = s.name
WHEN NOT MATCHED THEN INSERT (emp_id, name … )
	VALUES (emp_id, name … );
__________________________________________
01001001110101001010100101 et plus si affinités

Répondre à bacchuss
Prb! Requete SQL, insert avec select Bonjour, j'ai un problème, je fais des requête SQL dans Oracle. Je recois le message du genre: "paramètre insuffisant." J'ai une variable de type SEQUENCE: seqRetraite Voici ma requête: INSERT INTO retraite (noRet, dateRetraite, nomR, noDept,... www.commentcamarche.net/forum/affich-1247658-prb-requete-sql-insert-avec-select
PHP mysql_query INSERT/UPDATE valeur NULL Bonjour, j'ai un petit soucis avec un script PHP qui utilise mysql_query pour fair un INSERT/UPDATE dans une base MySQL. Je cherche à inserer une valeur NULL et je n'y parviens pas. Y a-t-il une astuce ? Dasn l'exemple ci-dessous je test si ma... www.commentcamarche.net/forum/affich-3340006-php-mysql-query-insert-update-valeur-null
[sql] insertion d'un autoincrement? Voila lors d'un insert, comment faire pour que mysql s'occupe lui meme de mon champ index (autoincrement)? lorsque j'insert sans preciser le parametre, ou que je met "NULL" il me met 4294967295 par default, et refuse l'insertion suivante car le champ... www.commentcamarche.net/forum/affich-1681546-sql-insertion-d-un-autoincrement
[Word] Suivi des modificationsMicrosoft Word possède un outil très astucieux : le suivi des modifications. Il se peut que des personnes viennent corriger, modifier un document que vous venez de créer. Cependant, vous désirez savoir ce qu'ils ont modifié dans votre... www.commentcamarche.net/faq/sujet-4766-word-suivi-des-modifications
MySQL - Update avec jointureSi vous avez deux tables possédant une clé commune (dans le cas ci-dessous il s'agit de la clé primaire "id"), il est possible de mettre à jour un champ d'une des deux tables (update_table) grâce aux données de la seconde (reference_table) à l'aide... www.commentcamarche.net/faq/sujet-10426-mysql-update-avec-jointure
[MS SQL] Insert avec certaines conditions (Résolu)Bonjour, Je vous expose mon problème. J'ai deux tables et je récupère les identifiants des deux tables dans une troisième table. Je voudrais pouvoir insérer dans la troisième table uniquement si les identifiants sont déjà créés dans les deux premières... www.commentcamarche.net/forum/affich-5936206-ms-sql-insert-avec-certaines-conditions
[SQL]Requête updateBonjour à tous J'ai un gros problème et je ne comprend pas pourquoi? Je développe une appli web en java et j'ai besoin d'exécuter des requêtes d'update afin de mettre à jour mes tables. Certaines requêtes devraient me permettre de mettre à jour... www.commentcamarche.net/forum/affich-1730023-sql-requete-update
Php+sql:requete updateBonjour, voila mon code, ma requête update ne fonctionne pas : il doit y avoir une erreur avec les guillemets mais je trouve pas. :'( voici mon code : if(isset($_GET['modif'])){ $id_news_a_modif=$_GET['modif']; $requete = mysql_query("SELECT * FROM... www.commentcamarche.net/forum/affich-5042418-php-sql-requete-update
Télécharger SQL QuerySQL Query est un éditeur SQL. Le programme prend en charge les bases suivantes : toutes les versions de SQL Server et MSDE y compris SQL Server 2005 et SQL Server 2005 Express. Il permet de créer et d'exécuter des requêtes par lots, de naviguer entre... www.commentcamarche.net/telecharger/telecharger-34058385-sql-query
SQL - Mise à jour d'informationsLe SQL permet la modification d'une table par un utilisateur (pour peu qu'il ait les droits suffisants...). La modification d'une table consiste à: ajouter des tuples modifier des tuples existants ou bien supprimer des tuples Insertion de... www.commentcamarche.net/contents/sql/sqlmaj.php3
LaTeX - Insertion d'imagesStyle LaTeX permet d'insérer des images de différents formats. Le plus simple est d'insérer des fichiers de type eps (Encapsuled Postscript) : Il suffit d'insérer dans le préambule la ligne suivante : \usepackage{graphicx} Puis d'insérer... www.commentcamarche.net/contents/latex/latex-images.php3
SQL - Création de tableLe SQL, comportant un langage de définition de données (LDD), permet de créer des tables. Pour cela, il utilise le couple de mots clés CREATE TABLE. La création de tables Le création de tables se fait à l'aide du couple de mots-clés CREATE... www.commentcamarche.net/contents/sql/sqlcreate.php3