Ты не должен этого делать.Если EmpId
может измениться, вы должны создать новый столбец Id
в record
, только для базы данных.Затем у вас есть столбец внешнего ключа в salary
, который ссылается на этот record.Id
.Таким образом, salary
не нужно EmpId
.Если вы хотите получить EmpId
для определенного столбца salary
, вы присоединитесь к столбцу Id
.Если вы хотите изменить EmpId
, просто измените его на record
, этого достаточно.
Это предполагает, что у вас есть веская причина, чтобы разделить таблицу.Другой вариант - объединить их в одну таблицу.
РЕДАКТИРОВАТЬ:
На основании комментария к этому ответу (я думаю, это делает вопрос совершенно другим):
Если, как вы говорите, менеджер создает строку Details
и после этого HR добавляет свои данные Accounts
, то нет смысла создавать строку Accounts
при создании Details
строка.Создайте строку, когда HR устанавливает данные счета в первый раз.
Другое решение (уже предложенное другими) - объединить две таблицы.Если между ними всегда есть отношение 1:, нет необходимости хранить данные в разных таблицах.Вы можете создавать представления, если хотите просматривать только часть данных.
Еще одно решение, наиболее близкое к тому, что вы просите (но, возможно, не лучший вариант), - это использование триггеров.Когда строка вставляется в таблицу Details
, срабатывает триггер, и в таблице Accounts
создается строка.