Précédent   Forum des professionnels en informatique > Bases de données > Firebird > SQL
SQL Forum d'entraide sur le SQL pour Firebird
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/09/2007, 16h11   #1
Membre Expert
 
Inscription : septembre 2002
Messages : 1 639
Détails du profil
Informations personnelles :
Âge : 48
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : septembre 2002
Messages : 1 639
Points : 1 001
Points : 1 001
Par défaut [FB1.5] Interdire modification enregistrement

Bonjour,

Je désire permettre l'ajout et l'effacement d'un enregistrement mais pas de permettre la modification de cet enregistrement.

Cela existe-t-il sous la forme d'un trigger par exemple ?

Merci.
__________________
La connaissance ne sert que si elle est partagée.
http://ms2i.net
Mister Nono est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/09/2007, 16h13   #2
Modérateur
 
Avatar de Cl@udius
 
Homme Claude Renouleaud
Développeur informatique
Inscription : février 2006
Messages : 4 760
Détails du profil
Informations personnelles :
Nom : Homme Claude Renouleaud
Âge : 49
Localisation : France, Hautes Pyrénées (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2006
Messages : 4 760
Points : 6 790
Points : 6 790
Re,

Il suffit de déclencher une exception dans le trigger before update.

@+ Claudius
__________________
A la question technique que par MP/MV tu formuleras, la réponse aux oubliettes finira.
Cl@udius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/09/2007, 16h32   #3
Membre Expert
 
Inscription : septembre 2002
Messages : 1 639
Détails du profil
Informations personnelles :
Âge : 48
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : septembre 2002
Messages : 1 639
Points : 1 001
Points : 1 001
Merci.

Il suffisait d'y penser.
__________________
La connaissance ne sert que si elle est partagée.
http://ms2i.net
Mister Nono est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/09/2007, 22h09   #4
Expert Confirmé Sénior
 
Avatar de qi130
 
Homme Pierre
Ingénieur qualité méthodes
Inscription : mars 2003
Messages : 3 726
Détails du profil
Informations personnelles :
Nom : Homme Pierre
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Ingénieur qualité méthodes
Secteur : Finance

Informations forums :
Inscription : mars 2003
Messages : 3 726
Points : 4 739
Points : 4 739
Révoquer le privilège UPDATE ne suffit pas ?
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
-----------------------
Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
Usus magister est optimus
qi130 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2007, 08h52   #5
Membre Expert
 
Inscription : septembre 2002
Messages : 1 639
Détails du profil
Informations personnelles :
Âge : 48
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : septembre 2002
Messages : 1 639
Points : 1 001
Points : 1 001
Citation:
Envoyé par qi130 Voir le message
Révoquer le privilège UPDATE ne suffit pas ?
Comment fait-on cela ?

A+
__________________
La connaissance ne sert que si elle est partagée.
http://ms2i.net
Mister Nono est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2007, 08h57   #6
Modérateur
 
Avatar de Cl@udius
 
Homme Claude Renouleaud
Développeur informatique
Inscription : février 2006
Messages : 4 760
Détails du profil
Informations personnelles :
Nom : Homme Claude Renouleaud
Âge : 49
Localisation : France, Hautes Pyrénées (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2006
Messages : 4 760
Points : 6 790
Points : 6 790
Salut

qi130 a raison, c'est la meilleure façon de procéder.

Pour retirer le droit de modif sur la table:
Code :
1
2
 
  REVOKE UPDATE ON TA_TABLE FROM [USER | ROLE]
@+ Claudius
__________________
A la question technique que par MP/MV tu formuleras, la réponse aux oubliettes finira.
Cl@udius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2007, 09h08   #7
Membre Expert
 
Inscription : septembre 2002
Messages : 1 639
Détails du profil
Informations personnelles :
Âge : 48
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : septembre 2002
Messages : 1 639
Points : 1 001
Points : 1 001
Citation:
Envoyé par Cl@udius Voir le message
Salut

qi130 a raison, c'est la meilleure façon de procéder.

Pour retirer le droit de modif sur la table:
Code :
1
2
 
  REVOKE UPDATE ON TA_TABLE FROM [USER | ROLE]
@+ Claudius
Où mettre cette ligne : dans un trigger ?
Et pour empêcher la mise à jour à tous, quelle est la valeur de [USER | ROLE] ?

Excusez ces questions mais je ne connais pas du tout cette commande.

A+
__________________
La connaissance ne sert que si elle est partagée.
http://ms2i.net
Mister Nono est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2007, 09h17   #8
Modérateur
 
Avatar de Cl@udius
 
Homme Claude Renouleaud
Développeur informatique
Inscription : février 2006
Messages : 4 760
Détails du profil
Informations personnelles :
Nom : Homme Claude Renouleaud
Âge : 49
Localisation : France, Hautes Pyrénées (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2006
Messages : 4 760
Points : 6 790
Points : 6 790
Salut

Tiens regarde cette rubrique de la FAQ sur les utilisateurs et roles.

@+
__________________
A la question technique que par MP/MV tu formuleras, la réponse aux oubliettes finira.
Cl@udius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2007, 23h05   #9
Rédacteur
 
Avatar de aityahia
 
Idir AIT YAHIA
Inscription : mars 2006
Messages : 1 837
Détails du profil
Informations personnelles :
Nom : Idir AIT YAHIA
Âge : 36

Informations forums :
Inscription : mars 2006
Messages : 1 837
Points : 2 183
Points : 2 183
Envoyer un message via MSN à aityahia Envoyer un message via Yahoo à aityahia Envoyer un message via Skype™ à aityahia
si vous avez FireBird Maestro je sais pas si IbExpert le fais vous pouvez spécifier les règles a la création de vos table avec une tres grande simplicité.
aityahia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2007, 08h43   #10
Membre Expert
 
Inscription : septembre 2002
Messages : 1 639
Détails du profil
Informations personnelles :
Âge : 48
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : septembre 2002
Messages : 1 639
Points : 1 001
Points : 1 001
Merci à tous.
__________________
La connaissance ne sert que si elle est partagée.
http://ms2i.net
Mister Nono est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2007, 12h47   #11
Membre Expert
 
Inscription : septembre 2002
Messages : 1 639
Détails du profil
Informations personnelles :
Âge : 48
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : septembre 2002
Messages : 1 639
Points : 1 001
Points : 1 001
Citation:
Envoyé par Cl@udius Voir le message
Re,

Il suffit de déclencher une exception dans le trigger before update.

@+ Claudius
Le trigger suivant :

Code :
1
2
3
4
 
begin
  exception;
end
... ne soulève pas d'exception.

Pourquoi ?

Merci.
__________________
La connaissance ne sert que si elle est partagée.
http://ms2i.net
Mister Nono est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2007, 14h00   #12
Modérateur
 
Avatar de Cl@udius
 
Homme Claude Renouleaud
Développeur informatique
Inscription : février 2006
Messages : 4 760
Détails du profil
Informations personnelles :
Nom : Homme Claude Renouleaud
Âge : 49
Localisation : France, Hautes Pyrénées (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2006
Messages : 4 760
Points : 6 790
Points : 6 790
Salut

Il faut définir l'exception que tu veux lever.
Code :
1
2
3
4
 
begin
  exception EXC_UPDATE;
end
Tu auras pris le soin de préalablement créer ton exception:

Code :
1
2
 
  CREATE EXCEPTION EXC_UPDATE 'Modification des données interdite';
@+ Claudius
__________________
A la question technique que par MP/MV tu formuleras, la réponse aux oubliettes finira.
Cl@udius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2007, 15h20   #13
Membre Expert
 
Inscription : septembre 2002
Messages : 1 639
Détails du profil
Informations personnelles :
Âge : 48
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : septembre 2002
Messages : 1 639
Points : 1 001
Points : 1 001
Merci bien.

Cela fonctionne.
__________________
La connaissance ne sert que si elle est partagée.
http://ms2i.net
Mister Nono est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h22.


 
 
 
 
Partenaires

Hébergement Web