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
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
c 'est dans dba_triggers et dans dba_sequences
Si tu veux un truc plus simple utilise DBA studio
tu vas dans les vues all_triggers et all_sequences, et le tour est joué
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)
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
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";
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
et a quoi ca sert exactement une sequence?
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
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.
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
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
Et vous pouvez faire cela avec un ordre ALTER SEQUENCES
Voir
http://download-west.oracle.com/docs...18.htm#2052407
merci tout les trois, decidement helyos, tu depannes bien.
tcho
Je te remercie pour le compliment, mais il faut aussi remercier la team developpez.com
Mais c'est gentil quand meme
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
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?
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.
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
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
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager