обновить table1.col2 = table2.col2 при изменении значения в table2.col2 - PullRequest
0 голосов
/ 15 ноября 2011

У меня были таблица пользователя и таблица заработной платы.поэтому, когда идентификатор платежной ведомости создается для пользователя, он будет обновляться в таблице заработной платы (payroll.payrollID).

мы можем сделать это значение вставленным в user.payrollID.Я делаю это с помощью обычной программы Java-JDBC для периодического обновления.

UPDATE user
SET payrollID = (SELECT payrollID
                    FROM payroll
                    WHERE payroll.userID = user.userID)
WHERE user.payrollID IS NULL
 AND EXISTS(SELECT payrollID
                    FROM payroll
                    WHERE payroll.userID = user.userID)

Примечание. У меня нет доступа к программе начисления заработной платы.поэтому я не могу вносить какие-либо изменения на уровне программы в программе расчета заработной платы, чтобы вставить в 2 таблицы

1 Ответ

2 голосов
/ 15 ноября 2011
UPDATE u
  Set payrollID = p.payrollID
FROM User u
INNER JOIN Payroll p ON p.userID = u.userID
WHERE u.payrollID IS NULL

Помните, что операторы обновления могут использовать псевдонимы таблиц, используемые в предложении from и / или любых объединениях.

Наконец, я бы предложил создать триггер для обработки этого обновления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...