Я хочу вставить новые значения в таблицу Oracle. Таблица довольно велика, и идентификационные коды хранятся в виде чисел. Я бы хотел написать инструкции вставки, которые могут добавить мою новую информацию и автоматически назначить идентификатор, который еще не был выполнен.SQL-инкрементное присвоение идентификатора
Например:
insert into example_table values
(
(select max(person_id)+1 from example_table),
99, 'example name', 'example type');
Но этот код выше, очевидно, не будет работать, потому что я указать идентификатор (99). Если я установил 99 в null в приведенном выше фрагменте кода, будет ли он работать? Не знаете, как форматировать.
Спасибо.
Я попытался запустить на тестовой среде, извлекая 99, (НЕ заменяя нуль), и она работала отлично. Спасибо за ответ. :) – GrumP
Ahh, я так понимаю, у вашего стола есть только 3 столбца? В этом случае в вашем примере выше вы пытались вставить 4. Ваш 'select max (person_id) +1 из example_table)' в основном выполняет работу триггерной последовательности для вас. Хотя это нормально, возможно, очень эффективный, так как выбор потенциально может занять все больше времени по мере роста таблицы. Использование последовательности + триггер определенно будет лучшим вариантом в этом случае ... Рад помочь :) – StevieG