2010-12-06 42 views
0

J'ai une table contenant des entrées de journal. Est-il possible d'imposer une contrainte, en restreignant toutes les modifications de lignes, tout en permettant l'addition et la suppression de lignes? Par exemple, si j'ai:Contrainte de modification de ligne SQL

ID| Time |  Issue  | Result 
------------------------------------ 
3 10:30 heating broke repaired 

Il devrait être impossible de changer d'identité, le temps, l'émission ou le résultat, mais il devrait être possible de créer de nouvelles lignes ou de supprimer la ligne. J'utilise Oracle.

Merci beaucoup!

Répondre

3

Consultez la documentation ...

CREATE TRIGGER No_Updates_To_Table_X 
BEFORE UPDATE ON Table_X 
.... 

Ou avec des autorisations:

REVOKE UPDATE ON XXXX FROM YYYY .... 
1

Bien qu'il n'est pas bon de penser, je vais à ce sujet; Oracle devrait vous permettre de créer un compte utilisateur avec les autorisations DELETE et CREATE, mais interdire UPDATE/ALTER. Je voudrais commencer avec les autorisations au niveau de l'utilisateur et aller de là.