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

PL/SQL Oracle Discussion :

trigger ou procedure pour compter le nombre et calculer la note


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 115
    Par défaut PL/SQL faire un petit trigger
    bonjour je veux faire un trigger qui va compter le nombre de employe a l'aide SerNo(service numero)
    J'ai deux table suivant:
    Employe(EmpNo,nom,prenom, chef, salaire, commission,SerNo)
    Service(SerNo,Nom,Lieu)

    Je rajoute un colone dans Service qui s'appelle NbEmploye
    Comment je peut faire un trigger qui va compter le nombre employe et affecter la valeur dans la colone NbEmploye.

  2. #2
    Rédacteur
    Avatar de Bruno2r
    Homme Profil pro
    Exploitation des données
    Inscrit en
    Décembre 2006
    Messages
    2 566
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Exploitation des données
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 566
    Par défaut
    Bonsoir,
    Tu veux quoi au juste compter ou numéroter ?
    Précisez la VERSION !
    Un message vous a aidé ? Votez en cliquant sur Pensez au bouton
    Tutoriels BO et FAQ BO
    "A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!"

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 115
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    ---je cree une vue pour visualiser update
    CREATE OR REPLACE VIEW VW_Service AS
    Select SerNo,NomS,Lieu,NbEmploye
    From   SERVICE;
    
    ---je cree un trigger pour compter nombre de employe à l'aide SerNo dans la table employe.
    
    CREATE OR REPLACE TRIGGER VW_Service
     INSTEAD OF UPDATE     -- à la place de l'insertion
     ON VW_Service         -- sur la vue VW_Service
     FOR EACH ROW          -- pour chaque ligne
     DECLARE
     NB_Employe INTEGER;
     BEGIN
     SELECT COUNT(*) INTO NB_Employe
     FROM Employe e
     WHERE e.SerNo=:NEW.SerNo; 
     UPDATE SERVICE 
     set NbEmployes=NB_Employe;
     End ;
     /
    je ne sais pas comment je peux tester ?

  4. #4
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    pourquoi pas simplement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     UPDATE SERVICE 
     set NbEmployes=(SELECT COUNT(*) INTO NB_Employe
     FROM Employe e
     WHERE e.SerNo=:NEW.SerNo);
    pour tester bah tu essayes de faire un update sur la vue... mais j'ai rien compris au besoin

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 115
    Par défaut
    Je veux faire un trigger pour disposer de l'information NbEmploye dans la table SERVICE, Pour cela ,j'ai ajouter une colone NbEmploye avec pour valeur par défaut 0,ensuite ,je veux calculer le nombre de NbEmloye.

    Donc je fais une vue et dans cette je fais un trigger.

    les deux tables sont suivant

    Employe(EmpNo,Nom,Prenom, Fonction,Chef,DateEmbauche,Salaire,Commission,SerNo)

    Service(SerNo,Nom,Lieu)

    normalement je peux calculer le nombre de employe à l'aide de SerNo?

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 115
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    CREATE OR REPLACE TRIGGER VW_Service
     INSTEAD OF UPDATE     -- à la place de l'insertion
     ON VW_Service         -- sur la vue VW_Service
     FOR EACH ROW          -- pour chaque ligne
     DECLARE
     NB_Employe INTEGER;
     BEGIN
     SELECT COUNT(*) INTO NB_Employe
     FROM Employe e
     WHERE e.SerNo=:NEW.SerNo; 
     UPDATE SERVICE 
     SET NbEmployes=(SELECT COUNT(*) INTO NB_Employe
     FROM Employe e
     WHERE e.SerNo=:NEW.SerNo);
     End ;
     / 
     
    Avertissement : Déclencheur créé avec erreurs de compilation.
    Comment faire ??

  7. #7
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    Citation Envoyé par wang_xue Voir le message
    Donc je fais une vue et dans cette je fais un trigger.
    Mais quel est le role de la vue ? Pourquoi ne pas faire un UPDATE tout simplement ?

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 115
    Par défaut trigger ou procedure pour compter le nombre et calculer la note
    Je veux faire un trigger ou procedure pour compter le nombre de transaction,mais je trouve mon schema y des problemes,je ne sais pas comment corriger?S'il est correct,je peux faire un trigger pour compter le nombre de transaction,comme chaque fois une insertion des données,il va incrementer dans l'attribut NombreTransaction.
    Le même souci pour noteevaluation,je veux faire un PL/SQL pour calculer le note de evaluation pour la parite de acheteur et vendeur,et ensuite je vais mettre à jour sur evaluationutilisateur dans la table gestiondesutilisateur,est-ce que je dois faire deux attriuts dans la table gestiondesutilisateur et renommer comme evaluation acheteur et evaluation vendeur ou je laisse evaluationutilisateur comme ça?
    Images attachées Images attachées  

  9. #9
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    tu vas peut-être pas nous créer des discussions à chaque fois pour ce type de problème

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 115
    Par défaut
    Dsl,mais j'ai eu un peu mal de faire ce genre de truc vous pouvez m'aider

Discussions similaires

  1. Shell script pour compter le nombre de fichiers par extension
    Par andress33 dans le forum Shell et commandes GNU
    Réponses: 16
    Dernier message: 30/03/2015, 01h26
  2. Réponses: 7
    Dernier message: 10/10/2007, 19h23
  3. Requête pour compter le nombre de fils de chaque parent
    Par santana2006 dans le forum Langage SQL
    Réponses: 8
    Dernier message: 25/08/2006, 16h08
  4. Requete pour compter le nombre de champs
    Par kichemans dans le forum Requêtes
    Réponses: 4
    Dernier message: 24/04/2006, 14h12
  5. fonction pour compter le nombre de checkbox coché ?
    Par Death83 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 15/09/2005, 11h28

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