ITable.AlterTable

Синтаксис

AlterTable(OldTable: ITable; [Options: Integer = 0]);

Параметры

OldTable - таблица, структуру которой необходимо обновить в соответствии со структурой текущей таблицы.

Options - зарезервированный параметр.

Описание

Метод AlterTable осуществляет обновление структуры таблицы OldTable на сервере БД в соответствии со структурой текущей таблицы.

Обновляется информация о следующих элементах таблицы:

Если в таблице OldTable есть элементы, которых нет в текущей таблице - они будут удалены, если в текущей таблице есть элементы, которых нет в таблице OldTable - они будут добавлены.

Пример

Для выполнения примера предполагается наличие в репозитории двух таблиц с идентификаторами «Table_1» и «Table_2».

Sub UserProc;
Var
    MB: IMetabase;
    Table, OldTable: ITable;
    Field: ITableField;
Begin
    Mb := MetaBaseClass.Active;
    Table := Mb.ItemById("Table_1").Edit As ITable; // таблица, в соответствии со структурой которой, будем обновлять
    OldTable := Mb.ItemById("Table_2").Bind As ITable; // таблица, структуру на сервере БД которой, будем обновлять
    Table.NativeName := OldTable.NativeName; // временно устанавливаем одинаковые физические имена
    // Необходимо для сохранения уникальности физ. имени таблицы OldTable
    Field := Table.Fields.Add; // Добавляем временное поле, которое затем будет создано в обновляемой таблице
    Field.Id := "NewField";
    Field.DataType := DbDataType.String;
    Field.Size := 20;
    Table.AlterTable(OldTable);
End Sub UserProc;

После выполнения примера будет обновлена структура таблицы на сервере БД, на которую ссылается таблица репозитория «Table_2». Структура будет установлена в соответствии со структурой таблицы, на которую ссылается таблица репозитория «Table_1», а также будет добавлено одно новое текстовое поле «NewField».

См. также:

ITable