У меня небольшая проблема!
У меня есть оригинальная базовая таблица "StaffAddressDetails" :
CREATE TABLE StaffAddressDetails
(ContactID INTEGER NOT NULL,
Postcode VARCHAR (10) NOT NULL,
HouseNameOrNumber VARCHAR (50) NOT NULL,
Street VARCHAR (50) NOT NULL,
Street2 VARCHAR (50) DEFAULT '...',
Town VARCHAR (50) NOT NULL,
County VARCHAR (50) NOT NULL,
Country VARCHAR (50) NOT NULL,
StaffID INTEGER NOT NULL,
CONSTRAINT StaffAddressDetails_PK PRIMARY KEY (ContactID, Postcode),
CONSTRAINT StaADContactIDSCD FOREIGN KEY (ContactID)
REFERENCES StaffContactDetails (ContactID));
Я хочу, чтобы сотрудники могливидеть только свои собственные данные, поэтому я создал представление "HDPBHTTSKStaffAddDetsForSelf" и предоставил это представление роли "Учитель" :
CREATE VIEW HDPBHTTSKStaffAddDetsForSelf AS
SELECT * FROM StaffAddressDetails
WHERE StaffID IN
(SELECT USER
FROM DUAL);
...and ...
GRANT SELECT, INSERT, UPDATE ON HDPBHTTSKStaffAddDetsForSelf TO Teacher;
Это все работает нормально - проблема возникает при вставке новой строки (при входе в систему с учетной записью учителя), скажем, учитель получает новый адрес и хочет добавитьэто в школьную систему.
Вставленная строка появляется при запросе от этой учетной записи учителя, но не передается в исходную базовую таблицу, то есть никто, кроме учителя, не может ее видеть, даже не администратор.
Есть ли быстрое исправление ??
Большое спасибо заранее, Зулу