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 :

listage de triggers/sequences avec sql plus


Sujet :

Oracle

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 53
    Points : 25
    Points
    25
    Par défaut listage de triggers/sequences avec sql plus
    je recherche une commande pour lister les triggers et sequences, l'admin m'a dit que j'avais les droits necessaires.

    j'utilise sql plus, si qq'un pouvait m'indiquer une docs sur ce logiciel.

    merci

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2003
    Messages : 412
    Points : 1 326
    Points
    1 326
    Par défaut
    c 'est dans dba_triggers et dans dba_sequences

    Si tu veux un truc plus simple utilise DBA studio

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2003
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 55
    Points : 28
    Points
    28
    Par défaut
    tu vas dans les vues all_triggers et all_sequences, et le tour est joué

  4. #4
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    493
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 493
    Points : 605
    Points
    605
    Par défaut
    exact car pour utiliser les vues DBA_xxx ils faut les privilèges DBA

    pour rappel, le dictionnaire de données présentes trois types de vues :
    1- USER_xxx : infos sur les objets appartenant au schéma du user
    2- ALL_xxx : infos sur les objets accessibles par le user (qu'ils soient dans son schéma ou non)
    3- DBA_xxx : infos sur les objets de tous les schémas (requiert les privilèges ANY , voire SYSDBA si la protection du data dictionary est activée : O7_DICTIONARY_ACCESSIBILITY = FALSE)

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 53
    Points : 25
    Points
    25
    Par défaut
    merci j'ai reussi a les lister.

    j'obtiens ca

    SQL> desc all_triggers
    Name Null? Type
    ----------------------------------------- -------- ----------------------------
    OWNER VARCHAR2(30)
    TRIGGER_NAME VARCHAR2(30)
    TRIGGER_TYPE VARCHAR2(16)
    TRIGGERING_EVENT VARCHAR2(227)
    TABLE_OWNER VARCHAR2(30)
    BASE_OBJECT_TYPE VARCHAR2(16)
    TABLE_NAME VARCHAR2(30)
    COLUMN_NAME VARCHAR2(4000)
    REFERENCING_NAMES VARCHAR2(128)
    WHEN_CLAUSE VARCHAR2(4000)
    STATUS VARCHAR2(8)
    DESCRIPTION VARCHAR2(4000)
    ACTION_TYPE VARCHAR2(11)
    TRIGGER_BODY LONG



    j'arrive donc a voir tout les noms de trigger ect...

    mais maintenant, je sais pas comment les transformer, supprime ...

    est ce que qq'un peut me dire vite fais comment on s'y prend.

    merci

  6. #6
    Nouveau membre du Club
    Inscrit en
    Avril 2003
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 55
    Points : 28
    Points
    28
    Par défaut
    quand tu fais un desc tu liste les colonnes de la table et non le contenu. Pour voir le contenu, il faut faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select trigger_name from all_triggers where owner = "nom_owner";

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 53
    Points : 25
    Points
    25
    Par défaut
    SQL> desc all_sequences
    Name Null? Type
    ----------------------------------------- -------- ---------------------------
    SEQUENCE_OWNER NOT NULL VARCHAR2(30)
    SEQUENCE_NAME NOT NULL VARCHAR2(30)
    MIN_VALUE NUMBER
    MAX_VALUE NUMBER
    INCREMENT_BY NOT NULL NUMBER
    CYCLE_FLAG VARCHAR2(1)
    ORDER_FLAG VARCHAR2(1)
    CACHE_SIZE NOT NULL NUMBER
    LAST_NUMBER NOT NULL NUMBER

    pareil pour les sequences, c pas clair du tout


    je recupere les noms des sequences

    SQL> select sequence_name from all_sequences;

    SEQUENCE_NAME
    ------------------------------
    COMPANY_SEQ
    CONTACT_SEQ
    CURRENCY_SEQ
    LICENCETYPE_SEQ
    ORDER_SEQ
    PLATFORM_SEQ
    PRODUCT_SEQ
    REQUIREDLIC_SEQ
    SERIAL_SEQ


    et la je veux obtenir toutes les infos, pour une sequence.



    SQL> select * from all_sequences where sequence_name='platform_seq';

    no rows selected


    je comprend pas!!!

    ect ce que qq'un a une idee

    merci

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 53
    Points : 25
    Points
    25
    Par défaut
    et a quoi ca sert exactement une sequence?

  9. #9
    Expert éminent sénior
    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
    Points : 11 862
    Points
    11 862
    Par défaut
    Attention, Oracle stocke par défaut les noms d'objets en majuscule.

    il vous faut tester selon la manière suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from all_sequences where sequence_name='PLATFORM_SEQ';
    Rédacteur Oracle (Oracle ACE)
    Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
    Je ne réponds pas aux questions techniques par MP
    Blogs: Forms-PL/SQL-J2EE - Forms Java Beans

  10. #10
    Nouveau membre du Club
    Inscrit en
    Avril 2003
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 55
    Points : 28
    Points
    28
    Par défaut
    une séquence sert à ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    A sequence is a database object from which 
        multiple users may generate unique integers.  You can use sequences 
        to automatically generate primary key values.

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 53
    Points : 25
    Points
    25
    Par défaut
    ok merci, j'avais entendu que sql ne faisait pas de difference entre min et maj.


    sinon il veut pas updater mes sequences:

    SQL> update all_sequences set last_number=17 where last_number=21;
    update all_sequences set last_number=17 where last_number=21
    *
    ERROR at line 1:
    ORA-01031: insufficient privileges


    comment cela ce fait il?


    merci

  12. #12
    Expert éminent sénior
    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
    Points : 11 862
    Points
    11 862
    Par défaut
    Vous ne pouvez pas mettre à jour les vues système (ALL_SEQUENCES, etc.). Mais seulement les objets vous appartenant ou sur lesquels vous avez les droits suffisants, par exemple votre séquence.
    Rédacteur Oracle (Oracle ACE)
    Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
    Je ne réponds pas aux questions techniques par MP
    Blogs: Forms-PL/SQL-J2EE - Forms Java Beans

  13. #13
    Membre expérimenté

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2003
    Messages : 412
    Points : 1 326
    Points
    1 326
    Par défaut
    Et vous pouvez faire cela avec un ordre ALTER SEQUENCES

    Voir
    http://download-west.oracle.com/docs...18.htm#2052407

  14. #14
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 53
    Points : 25
    Points
    25
    Par défaut
    merci tout les trois, decidement helyos, tu depannes bien.

    tcho

  15. #15
    Membre expérimenté

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2003
    Messages : 412
    Points : 1 326
    Points
    1 326
    Par défaut
    Je te remercie pour le compliment, mais il faut aussi remercier la team developpez.com

    Mais c'est gentil quand meme

  16. #16
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 53
    Points : 25
    Points
    25
    Par défaut
    SQL> alter sequence PLATFORM_SEQ last_number=19;
    alter sequence PLATFORM_SEQ last_number=19
    *
    ERROR at line 1:
    ORA-02286: no options specified for ALTER SEQUENCE




    q'est ce qui merde dans ma commande


    SQL> alter sequence PLATFORM_SEQ LAST_NUMBER 19;
    alter sequence PLATFORM_SEQ LAST_NUMBER 19
    *
    ERROR at line 1:
    ORA-02286: no options specified for ALTER SEQUENCE

  17. #17
    Membre expérimenté

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2003
    Messages : 412
    Points : 1 326
    Points
    1 326
    Par défaut
    Bah last_number n'existe pas

    Tu veux modifier le derniere chiffres de la sequence pour la faire revenir en arriere ou pour aller en avant?

  18. #18
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 53
    Points : 25
    Points
    25
    Par défaut
    j'veux revenir en arriere, mais last_number existe.


    regarde le desc que j'ai fait sur all_sequences plus haut, et quand j'y accede ca correspond a l'endroit ou est rendu l'increment.



    SQL> desc all_sequences
    Name Null? Type
    ----------------------------------------- -------- ---------------------------
    SEQUENCE_OWNER NOT NULL VARCHAR2(30)
    SEQUENCE_NAME NOT NULL VARCHAR2(30)
    MIN_VALUE NUMBER
    MAX_VALUE NUMBER
    INCREMENT_BY NOT NULL NUMBER
    CYCLE_FLAG VARCHAR2(1)
    ORDER_FLAG VARCHAR2(1)
    CACHE_SIZE NOT NULL NUMBER
    LAST_NUMBER NOT NULL NUMBER



    je sais pas trop!!!



    SQL> select last_number from all_sequences where sequence_name='PLATFORM_SEQ';

    LAST_NUMBER
    -----------
    21

    SQL> select last_number from all_sequences;

    LAST_NUMBER
    -----------
    16
    1
    7
    1
    52
    21
    52
    2
    5

    9 rows selected.

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    ce qui ne va pas c'est que tu n'as simplement pas le droit de modifier cette valeur

    Pour revenir en arrière tu dois :

    - dropper la sequence
    - créer la sequence aevc un min_value = la valeur que tu veux

    voila

  20. #20
    Membre expérimenté

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2003
    Messages : 412
    Points : 1 326
    Points
    1 326
    Par défaut
    Oui oui la colonne existe mais pas l'option dans le ALTER SEQUENCE.

    Donc pour faire cela le moyen le plus rapide est de recreer la sequence directement avec le bon start with si tu veux un exemple dis le moi

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

Discussions similaires

  1. Extraction avec sql plus
    Par JOBiJOBa3 dans le forum Sql*Plus
    Réponses: 1
    Dernier message: 18/07/2008, 11h28
  2. Problème avec sql plus
    Par luckynick dans le forum Sql*Plus
    Réponses: 1
    Dernier message: 08/07/2008, 14h37
  3. PROBLEME AVEC SQL PLUS 8.0
    Par m3am3a dans le forum SQL
    Réponses: 1
    Dernier message: 30/03/2008, 13h03
  4. problème avec sql plus
    Par minooo dans le forum Installation
    Réponses: 11
    Dernier message: 13/01/2008, 12h36
  5. Problème de connexion et login avec sql*plus
    Par adapter dans le forum Sql*Plus
    Réponses: 3
    Dernier message: 13/06/2007, 14h12

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