Возможно, это не самый искусный способ сделать это, но я решил похожую проблему следующим образом:
a) Процедура, которая создает новую таблицу с помощью SQL: CREATE TABLE t002 (ID002 INTEGER PRIMARY KEY, CONSTRAINT SomeName FOREIGN KEY (ID002) REFERENCES t001(ID001));
Обе таблицы связаныдруг другу через внешний ключ.
b) Процедура, которая добавляет необходимые поля в новую таблицу (t002).В следующем примере кода давайте используем только одно поле и назовем его [MyFieldName].
c) Процедура добавления всех значений поля ID001 из таблицы t001 в поле ID002 в таблице t002 через SQL: INSERT INTO ID002 (t002) SELECT t001.ID001 FROM t001;
d) Процедура для переноса значений из полей в t001 в поля в t001 через SQL: UPDATE t001 INNER JOIN t002 ON t001.ID001 = t002.ID002 SET t002.MyFieldName = t001.MyFieldName;
e) Процедура удаления (удаления) соответствующих полей в таблице t001,через SQL: ALTER TABLE t001 DROP COLUMN MyFieldName;
f) Процедура, которая вызывает их всех один за другим.Имена полей вводятся в процесс в качестве параметров при вызове процедуры f.
Это довольно сложная кодировка, но она сделала всю работу за меня.