У меня есть исходная таблица и таблица истории. Они идентичны, за исключением того, что таблица истории содержит столбец notes
в качестве последнего столбца.Вставка типа записи
Стол большой, 55 столбцов, который я не хочу перечислять все столбцы. Мы не хотим использовать триггер, но просто создаем запись истории в самом коде.
Если я просто сделаю INSERT INTO <history> SELECT * FROM <source> WHERE......
, я получу «Недостаточно значений».
Я надеюсь сделать что-то такого рода: (Обратите внимание, что это только анонимный блок)
DECLARE
v_old_rec company_table%ROWTYPE;
BEGIN
SELECT * INTO v_old_rec
FROM company_table
WHERE company_id = 32789;
INSERT INTO company_table_hist
VALUES v_old_rec || ',MONTHLY UPDATE';
END;
Что-нибудь, как это возможно, так что я не должен перечислить 55 столбцов?
спасибо.
Если история таблица такой же, как исходная таблица, а 'notes' столбца наконец, вы можете использовать' вставить в историю как выберите источник. *, null из источника' –
@ Николас Краснов - так просто, что вы дали полный и правильный ответ. Скопируйте его в ответ, чтобы OP мог отметить его как правильный ответ, и мы все можем двигаться дальше. Благодаря! – mathguy