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

Administration Oracle Discussion :

Créer une contrainte d'intégrité inter-shéma/utilisateur [10g]


Sujet :

Administration Oracle

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Créer une contrainte d'intégrité inter-shéma/utilisateur [10g]
    Bonjour,

    Ne trouvant pas de solution à mon souci actuel, je viens quérir votre aide.

    Je dispose de deux utilisateurs A et B auquel sont associés un schéma chacun.

    Je souhaite créer une contrainte d'intégrité sur une table de la base A qui référence une colonne d'une table de la base B.


    J'ai donné les privilèges SELECT ,INSERT ,UPDATE ,DELETE ,ALTER à l'utilisateur A sur la table B.table (table sur laquelle porte cette contrainte). Néanmoins, je continue d'obtenir un message d'erreur "privilèges insuffisants" lors des tentatives de création de la contrainte d'intégrité.

    Etant assez novice dans la gestion privilégiale des utilisateur, il se peut que je néglige un point important, mais je ne trouve pas lequel.

    Si quelqu'un sait m'aiguiller ou me dire quels sont les privilèges nécessaires à mettre en place, cela m'aidera bien. D'ici là,je contiune de chercher.

    Merci d'avance.

  2. #2
    Membre régulier
    Inscrit en
    Septembre 2005
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 73
    Points : 82
    Points
    82
    Par défaut
    Citation Envoyé par Khwadj Voir le message
    Je souhaite créer une contrainte d'intégrité sur une table de la base A qui référence une colonne d'une table de la base B.
    Bonjour,

    Tu peux éclaisir cette partie stp ? BASE ou SCHEMA ?

    Cordialement.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Il s'agit de deux schémas différents, pardon pour mon imprécision.

  4. #4
    Membre régulier
    Inscrit en
    Septembre 2005
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 73
    Points : 82
    Points
    82
    Par défaut
    Ok on y vas....


    -- Simulation
    drop user a cascade;
    drop user b cascade;
    connect / as sysdba
    create user a identified by a123;
    create user b identified by b123;
    grant connect, resource to a;
    grant connect, resource to b;
    alter user a default tablespace USERS;
    alter user b default tablespace USERS;
    create table a.t1 (c1 number, c2 varchar2(255));
    create table b.t1 (c1 number, c2 varchar2(255));
    alter table a.t1 add ( constraint t1pk primary key (c1));
    alter table b.t1 add ( constraint t1pk primary key (c1));
    -- On test le bazar...
    connect a/a123;
    -- Erreur j'ai pas les droits/visibilité...
    select * from b.t1;
    connect b/b123
    grant select on t1 to a;
    connect a/a123;
    -- Wouais tout est ok...
    select * from b.t1;
    -- Bon la contrainte maintenant.
    connect / as sysdba
    grant references on b.t1 to a;
    connect a/a123
    alter table a.t1 add ( constraints t1fk1 foreign key (c1) references b.t1 (c1));
    connect b/b123
    insert into t1 values (1,'');
    commit;
    connect a/a123
    --- Bouu
    insert into t1 values (2,'');

    insert into t1 values (2,'')
    *
    ERROR at line 1:
    ORA-02291: integrity constraint (A.T1FK1) violated - parent key not found
    --- Wouais...
    insert into t1 values (1,'');

    1 row created.

    SQL> commit;

    Commit complete.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Super, c'était bien le "grant references" qui manquait

    Merci mec, j'te dois une bière !

Discussions similaires

  1. Réponses: 5
    Dernier message: 16/07/2011, 16h49
  2. Réponses: 5
    Dernier message: 17/07/2008, 11h40
  3. Modifier une contrainte d'intégrité sur un champ
    Par muadhib dans le forum Bases de données
    Réponses: 1
    Dernier message: 07/11/2007, 16h54
  4. Réponses: 3
    Dernier message: 27/02/2007, 15h11
  5. Créer une contraintes pour une suppression
    Par subzero82 dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 04/10/2005, 17h36

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