Итак, я хочу обновить зарплату сотрудников на 10% по каждому их иждивенцу.Таким образом, если сотрудник упоминается трижды в зависимой таблице, его зарплата составляет 100, его обновленная зарплата будет 100 * 1.10 * 1.10 * 1.10, что составляет 133.1.Вот таблица сотрудников
CREATE TABLE Employee (
ENumber CHAR(5) NOT NULL, /* Employee number */
Salary DECIMAL(7,2), /* Salary */
CONSTRAINT Employee_PK PRIMARY KEY(ENumber)
);
, а вот таблица зависимостей
CREATE TABLE Dependent (
ENumber CHAR(5) NOT NULL, /* Employee number */
DName VARCHAR(30) NOT NULL, /* Dependent name */
CONSTRAINT Dependent_PK PRIMARY KEY(ENumber, DName),
CONSTRAINT Dependent_FK FOREIGN KEY(ENumber) REFERENCES Employee(ENumber)
);
Я могу обновить их зарплаты, но только один раз на 10%, и это делается независимо от того, каку них много иждивенцев.Это то, что я имею до сих пор
update employee set salary=salary*1.10 where enumber in (select enumber from dependent);