IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Oracle Discussion :

création d'une vue objet


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Par défaut création d'une vue objet
    bonjour,
    voila je suis étudiant en BTS info et je bosse sur Oracle 10.
    j'ai créer une base de donées en objet relationnel,
    voici l'une des tables objets:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    --creation du type compte courant heritant du type compte
    create or replace type t_cptcourant under t_compte
     (nbopcb integer,
     liste_signataires t_liste_signataires);
    --creation de la table compte courant
    create table cptcourant of t_cptcourant
     (constraint pk_cptcourant primary key(num_compte),
     constraint ref_client_courant num_client REFERENCES client,
     constraint nn_client_courant CHECK (num_client IS NOT NULL))
     NESTED TABLE liste_signataires STORE AS signataire_tab;
    ce que je voudrai faire c'est créer un trigger instead of qui se déclanchera avant l'insertion dans cette table, mais j'ai vu qu'il fallai passer par une vue.
    en revanche je ne sais pas du tout comment créer une vue objet, j'aurai besoin de votre aide
    merci

  2. #2
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Je pense que vous mélangez plusieurs concepts.

    Le trigger de type INSTEAD OF a été effectivement créé spécialement pour les vues complexes (joignant plusieurs tables).

    Dans l'exemple que vous donnez, il s'agit d'une table et non d'une vue. Le trigger de type INSTEAD OF est donc parfaitement inutile.

  3. #3
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Par défaut
    enfet je voudrai lors de l'insertion dans ma table emplacer le insert par un autre (renseigné dans le fameu trigger instead of)
    j'ai réussi à le faire sur un table bidon en effectivement créant un vue de cette même table et en inserant directement dans cette vue, à ce momment la trigger se déclanche.

    donc ce que j'aimerai faire c'est créer une vue objet de ma table (celle donnée en exemple) pour y appliquer un trigger instead of.

  4. #4
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Mais enfin pourquoi dont ???
    Vous avez une table, alors pourquoi voulez-vous fabriquer une vue pour le simple plaisir d'implémenter un trigger de type INSTEAD OF ?
    Quel est le but recherché ? insérer des données dans la collection rattachée ?
    si oui, lisez cet article : http://sheikyerbouti.developpez.com/...ollections.htm

  5. #5
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Par défaut
    en gros je veux utiliser le trigger instead of pour "modifier le insert saisie pas un utilisateur", c'est pourquoi je voulais utilisé une vue objet, parceque mon prof me l'avait conseiller.
    mais la j'ai trouvé un lien sur internet pour la créer, je posterai la solution quand je retournerai en cours.

    sinon je suis débutant en oracle donc je me trompe peut etre, mais est-ce qu'il existe une solution autre qu'un trigger instead of pour "bloquer" le insert d'un utilisateur et le modifier

    merci pour votre lien, je vais le regarder plus tard

  6. #6
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Oui, un trigger tout court !
    Le trigger INSTEAD OF a été inventé pour gérer le cas des vues complexes, mais le trigger simple existe depuis bien longtemps.
    cherchez du coté de l'instruction CREATE OR REPLACE TRIGGER (dont vous trouverez une explication notament dans l'article Guide PL/SQL qui apparait dans ma signature)

Discussions similaires

  1. Réponses: 7
    Dernier message: 31/07/2009, 11h53
  2. Création d'une vue dans une base objet
    Par javass dans le forum SQL
    Réponses: 4
    Dernier message: 22/11/2008, 14h43
  3. Création d'une vue
    Par Xris dans le forum Langage SQL
    Réponses: 6
    Dernier message: 29/01/2005, 16h30
  4. Réponses: 7
    Dernier message: 12/07/2004, 22h30
  5. [Plugin] Création d'une vue dynamiquement
    Par The Bonze dans le forum Eclipse Platform
    Réponses: 2
    Dernier message: 15/06/2004, 13h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo