Я хочу добавить столбец в существующую базу данных Firebird (версия 2.5) и написать процедуру, с помощью которой я могу присвоить каждой записи другое значение. Что-то вроде добавления столбца и автогенерации данных для него.Добавление уникального столбца в существующую базу данных sql
Как, если я добавляю новый столбец с именем «ИД» (номер), я хочу, чтобы потом инициализировать уникальное значение для каждой из записей. Итак, в моем столбце ID будут указаны записи от 1 до 500. Как я могу достичь этого, используя только sql-скрипт (т. Е. Без использования какого-либо языка программирования высокого уровня для генерации SQL-команд)?
В основном то, что мне нужно что-то вроде identity колонок в Firebird 3.0:
alter table MY_TABLE
add ID int identity(1,1)
Может быть, я не был достаточно точным при формулировке моего вопроса. Мне не нужны случайные данные в новом столбце. Просто регулярное автоинкрементное значение, начинающееся с 1 (или 0 или 10, это не имеет значения). Проблема в том, что мне нужно добавить новый столбец в уже заполненную таблицу. Вы уверены, что триггер будет активирован для существующих записей? – truthseeker
Нет, триггер не будет обновлять существующие записи, вам нужно выпустить инструкцию для обновления: 'UPDATE MY_TABLE SET ID = GEN_ID (GEN_PK, 1)' – ain
Это то, что я хотел. – truthseeker