Topic de lasururi-8221 :

[SQL] Des Kheys qui s'y connaissent ?

Supprimé
  • 1

Salut les Kheys-Codeurs :noel:

J'ai besoin d'aide en SQL là :svp:
Je suis un gros noob en SQL (j'ai appris ça vite fait à la fac...).

En gros, je veux créer un trigger qui me supprime mes lignes lorsque j'udpate de deux tables disctincts. Ca, ça va, j'ai réussi à le faire. Mes requêtes de suppression:

DELETE (SELECT * FROM REQUEST WHERE REQUEST.ID = (SELECT REQUEST_PARAMETER.ID FROM REQUEST_PARAMETER WHERE REQUEST_PARAMETER.VALUE = :new.NUMPROD));

DELETE (SELECT * FROM REQUEST_PARAMETER WHERE REQUEST_PARAMETER.ID = (SELECT REQUEST_PARAMETER.ID FROM REQUEST_PARAMETER WHERE REQUEST_PARAMETER.VALUE = :new.NUMPROD));

Comme vous pouvez le voir, c'est assez complexes. En gros, je dois récupérer un ID dans la table "REQUEST_PARAMETER" en utilisant le numéro (identifiant) produit. Puis supprimer tout ce qui correspond à cet ID dans la table "REQUEST" et "REQUEST_PARAMETER".
Bref, ça, ça marche.

Maintenant ce que je voulais faire, c'est "simplifier" ces suppressions: N'avoir plus qu'une requête (au lieu de deux) en utilisant un JOIN. Instinctivement, j'ai fais ça:

DELETE (SELECT * FROM REQUEST INNER JOIN REQUEST_PARAMETER ON REQUEST.ID = REQUEST_PARAMETER.ID WHERE REQUEST.ID = (SELECT REQUEST_PARAMETER.ID FROM REQUEST_PARAMETER WHERE REQUEST_PARAMETER.VALUE = :new.NUMPROD));

Sauf que maintenant ça ne marche que à moitié :hap: .
J'ai bien la suppression dans la table "REQUEST_PARAMETER" mais plus pour "REQUEST".
Et je ne comprends pas. Est-ce que quelqu'un peut m'expliquer pourquoi ? Et si c'est possible de faire avec un JOIN (et comment du coup) ? :question:

C'est frustrant car je touche au but après avoir pas mal galéré une partie de la matinée dessus. :(

Merci d'avance les Kheys :merci:

Un DELETE ne peut supprimer que d'une table à la fois, un moyen de faire serait avec la foreign key et un ON DETELE CASCADE

Le 12 juillet 2021 à 12:44:35 :
Un DELETE ne peut supprimer que d'une table à la fois, un moyen de faire serait avec la foreign key et un ON DETELE CASCADE

Ah d'accord, merci :ok:
Du coup, c'est mieux que je reste avec cette double requête plutôt que d'en vouloir en faire une seule ?

c'est une blague tes requêtes ?

Le 12 juillet 2021 à 12:51:54 :
c'est une blague tes requêtes ?

Pourquoi ? :peur:

Je suis vraiment un noob en SQL... Si tu peux me dire ce qu'il ne va pas, je suis preneur.:ok:

  • 1

Données du topic

Auteur
lasururi-8221
Date de création
12 juillet 2021 à 12:39:21
Date de suppression
12 juillet 2021 à 13:45:12
Supprimé par
Auteur
Nb. messages archivés
5
Nb. messages JVC
5
En ligne sur JvArchive 277