ORA-00969: "missing ON keyword"
Bei der Vergabe von Objekt Berechtigungen ( select, insert, update, delete) können diese Berechtigungen:
für die gesamte Tabelle vergeben werden, z.B.
grant select on scott.emp to new_user;
oder aber auf einzele Spalten eingeschränkt werden, z.B.
grant select, insert(ENAME) on scott.emp to new_user;
Ein insert Statement funktioniert allerdings nur, wenn die Tabelle keine "not null" Spalte enthält, z.B.
insert into scott.emp (ENAME) values ('SCHMITT');
Für Spaltenberechtigungen sind nur die Berechtigungen insert und update erlaubt,
select und delete führt zu der Fehlermeldung: ORA-00969: missing ON keyword
Tipp:
Als Alternative für eine select Berechtigung z.B. nur auf 2 Spalten
einer mehrspaltigen Tabelle kann eine neue View erstellt werden
und entsprechend die select Berechtigung für diese View vergeben werden.
zurück zur Übersicht: Oracle Database Fehler