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 évènement système et création de séquence.


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
    Mars 2009
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 111
    Par défaut trigger évènement système et création de séquence.
    Est-il possible d'automatiser la création d'une séquence sur un CREATE TABLE.
    Je suis débutant sur PL SQL et je m'interesse aux triggers...
    Merci de vos réponses.

  2. #2
    Membre Expert Avatar de fatsora
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 103
    Par défaut
    Bonjour,

    Que veux tu faire exactement ?

    techniquement Oui , c'est possible de creer automatiquement une sequence

    Sinon ,un trigger ca doit etre quelque chose d'exceptionnel et non systematique ...

    c'est source d'erreur,de blocage, de bug

    moins on en crée , mieux la base se portera.

    On peut inserer dans une table avec sequence sans trigger ...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 111
    Par défaut
    Ce que je veux faire c'est automatiser l'incrémentation de l'identifiant à la création d'une table. C'est vrai que je suis un peu flemmard... Non sans rire, je suis en formationj et j'ai fini le programme sur oracle alors je cherche par moi même. Je ne cherche pas des solutions toutes faites mais des pistes.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 111
    Par défaut
    Quand j'essaye jusqu'à maintenant de créer une séquence à partir d'un trigger basé sur un évènement système, j'obtiens une erreur à chaque fois, je cherche donc une piste pour contourner cette erreur.

  5. #5
    Membre Expert Avatar de fatsora
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 103
    Par défaut
    Citation Envoyé par yorgh1234 Voir le message
    Quand j'essaye jusqu'à maintenant de créer une séquence à partir d'un trigger basé sur un évènement système, j'obtiens une erreur à chaque fois, je cherche donc une piste pour contourner cette erreur.
    tu veux dire tu incrémentes ta sequence pas ... creer la sequence

    Je ne pense pas que tu veuilles creer a chaque fois ta sequence !

    sinon si tu postes ton code trigger et le desc de ta table,
    et surtout l'erreur

    on verra apres

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 111
    Par défaut
    VOICI LE TRIGGER QUE JE VOUDRAIS REALISER :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    CREATE OR REPLACE TRIGGER "TRIGGER1"
    AFTER CREATE ON USER1.SCHEMA
    DECLARE
      LOC VARCHAR2(200);
    BEGIN
     
      IF ORA_DICT_OBJ_TYPE = 'TABLE' THEN
          LOC := 'CREATE SEQUENCE "SEQUENCE_"'||ora_dict_obj_name||' INCREMENT BY 1 START WITH 1';
          EXECUTE IMMEDIATE LOC;
      END IF;
    END;
    CA COMPILE BIEN
    TRIGGER "TRIGGER1" Compiled.

    MAIS A L'UTILISATION :
    Error starting at line 1 in command:
    CREATE TABLE TOTOS (ID_TOTO NUMBER, AZER VARCHAR2(50), CONSTRAINT PK_TOTOS PRIMARY KEY (ID_TOTO))
    Error at Command Line:1 Column:0
    Error report:
    SQL Error: ORA-00604: une erreur s'est produite au niveau SQL récursif 1
    ORA-30511: opération DDL non valide pour les déclencheurs système

    COMMENT CONTOURNER LE PROBLEME, OU BIEN MON CODE COMPORTE-T-IL UNE ERREUR?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Trigger événements systèmes
    Par bsangoku dans le forum PostgreSQL
    Réponses: 0
    Dernier message: 02/04/2011, 18h30
  2. Distinguer un événement système d'un événement utilisateur ?
    Par Filippo dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 21/08/2008, 11h43
  3. [Système] PHP traducteur de séquences d'ADN
    Par maryach dans le forum Langage
    Réponses: 11
    Dernier message: 29/03/2007, 13h48
  4. Réponses: 10
    Dernier message: 29/01/2007, 17h01
  5. Création de séquence
    Par piotrek30 dans le forum Oracle
    Réponses: 9
    Dernier message: 09/06/2006, 12h00

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