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 :

Create system trigger


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 44
    Par défaut Create system trigger
    Bonjour,

    J'ai fort besion de vos conseils. J'essai de créer un trigger sur la creation d'un table, mais sans succes. Est-ce qq. pourrais me donner un conseil ou LA SOLUTION?


    CREATE OR REPLACE TRIGGER trigger_priv
    after create ON SCHEMA

    DECLARE
    oper ddl_log.operation%TYPE;
    BEGIN


    IF ora_dict_obj_name = 'ct_pack_import' THEN
    grant connect to test1;
    grant select on ods_empvstime to test1;
    grant select on ods_empvstime to test1;
    END IF;
    END ;


    Grand merci,

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 953
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 953
    Par défaut
    Salut,
    Il faut passer par du sql dynamique pour les grant dans une procédure

  3. #3
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 44
    Par défaut
    J'ai modifié le trigger, mais j'ai une erreur quand il se declache.

    CREATE OR REPLACE TRIGGER ma.priv AFTER
    CREATE ON ma.SCHEMA
    declare itable number;
    sqltxt varchar(200);
    Begin
    select count(*) into itable from user_objects
    where object_name = 'ods_test';
    if itable=1 then
    sqltxt:='grant select on ma.ods_test to test1';
    execute immediate (sqltxt);
    End if ;
    END priv;

    SQL>drop table ods_test;

    SQL> create table ods_test as select * from ods_test_save;
    create table ods_test as select * from ods_test_save
    *
    ERREUR à la ligne 1 :
    ORA-04098: Déclencheur 'test.PRIV1' non valide. Echec de la revalidation

Discussions similaires

  1. CREATE CONSTRAINT TRIGGER
    Par X448GN dans le forum Débuter
    Réponses: 1
    Dernier message: 20/02/2011, 10h44
  2. pb script sql sur trigger (create or replace)
    Par sun19 dans le forum Développement
    Réponses: 3
    Dernier message: 29/11/2006, 13h02
  3. [Pl/Sql] Trigger et date, heure system
    Par brigadier dans le forum Oracle
    Réponses: 7
    Dernier message: 03/08/2006, 12h34
  4. probleme de create trigger
    Par mechantflou dans le forum Oracle
    Réponses: 7
    Dernier message: 03/07/2006, 11h39
  5. Réponses: 2
    Dernier message: 01/03/2006, 15h16

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