|
||||
Ouverture de sessionNavigationContactez-nousAdministration du site : RechercheSujets du forumSujets actifsNouveaux sujets:SyndicationSondageQuelle est la version de PostgreSQL la plus répandue sur vos serveurs ? 8.3 10% 8.2 42% 8.1 40% 8.0 2% 7.4 6% 7.3 ou antérieure 0% Nombre de votes: 48 |
Fonctionnement des RULE(S)Technique - général | Fonctionnement des RULE(S)Par farphadet le 05/09/2007 - 21:20 Bonjour, Voila j'ai 3 tables et une vue. La vue est une résultante de ces 3 tables. Ce que je veux faire c'est pouvoir faire les opérations de base SELECT, INSERT, UPDATE, DELETE sur la vue et que ces opérations soit répercuter sur les différentes tables. Pour cela j'ai donc définit des REGLES pour l'INSERT, l'UPDATE et le DELETE. Tout fonctionnement bien pour l'INSERT et pour l'UPDATE, mais malheureusement la RULE pour le DELETE ne fonctionne pas comme je le voudrais. Je ne vais pas vous donnez la RULE qui me serait utile de connaitre, mais celle qui me fait me poser beaucoup de questions sur le fonctionnement des RULES. Voici les 3 tables :
urls: Column | Type | Modifiers lists: Column | Type | Modifiers Voici la vue avec la RULE ON DELETE TO: View "public.urls_view" La RULE ON DELETE TO est inutile mais elle sert juste d'exemple. Donc lorsque je fais un : DELETE FROM urls_view; La RULE est executé integralement et les enregistrement correspondant à l'url_id 100 Lorsque je fais : DELETE FROM urls_view WHERE url_id = 1000; Seul la premiere commande SQL de la RULE est éxecutée. Et donc seul l'enregsitrement Lorsque je fais : DELETE FROM url_view WHERE url_id = 100; La RULE est éxécuté integralement. Je ne comprends vraiment pas ce fonctionnement. Quelqu'un aurait-il une réponse clair Merci pour votre aide |
|||
© PostgreSQLFr, tous droits réservés.
Site déclaré à la CNIL sous le numéro 1074678, conformément à la Loi en vigueur.