IMetabaseUpdateSqlNode.Sql

Синтаксис

Sql(Driver: String): String;

Параметры

Driver. Идентификатор драйвера СУБД.

Описание

Свойство Sql определяет текст запроса SQL-оператора, выполняемого при обновлении.

Комментарии

Список идентификаторов, которые могут использоваться в качестве значения параметра Driver, представлен в подразделе «Поддерживаемы СУБД > Сводный список идентификаторов». Укажите идентификатор той СУБД, которая установлена на сервере, где будет применяться обновление.

Пример

Для выполнения примера предполагается наличие в репозитории таблицы с идентификатором «Table_1» и базы данных с идентификатором «BD». В схеме, на которую настроена данная база данных, имеется таблица с физическим именем «LOG_TABLE». В данной таблице ведется история выполнения каких-либо действий. Таблица содержит поля «ACTION» и «DATE_ACTION», в которых будут указываться описание действия и дата, когда было совершено действие.

Sub Main;
Var
    Mb: IMetabase;
    Db: IMetabaseObject;
    Mu: IMetabaseUpdate;
    Root: IMetabaseUpdateFolderNode;
    SQLNode: IMetabaseUpdateSqlNode;
    DNode: IMetabaseUpdateDataObjectNode;
Begin
    Mb := MetabaseClass.Active;
    Db := Mb.ItemById("BD").Bind;
    Mu := Mb.CreateUpdate;
    Root := Mu.RootFolder;
    DNode := Root.Add(MetabaseUpdateNodeType.DataObject) As IMetabaseUpdateDataObjectNode;
    DNode.Object := MB.ItemById("Table_1");
    DNode.UpdatePart := MetabaseObjectUpdatePart.DataMetadata;
    SQLNode := Root.Add(MetabaseUpdateNodeType.Sql) As IMetabaseUpdateSQLNode;
    SQLNode.Label := "SQL";
    SqlNode.Sql((Db As IDatabase).DriverId) := "Insert Into Log_Table (ACTION,DATE_ACTION)
Values('Обновление таблицы Table_1', sysdate) ";
SqlNode.Database := Db.Key;
    Mu.SaveToFileNF("c:\Update.pefx");
End Sub Main;

После выполнения примера будет создано новое обновление. В обновление будут включены данные и метаданные таблицы «Table_1». Также в обновление будет включен SQL-оператор. При выполнении данного SQL-оператора в таблицу «Log_Table» будет добавляться новая запись, содержащая информацию об обновлении таблицы «Table_1». SQL-оператор будет выполняться в рамках сервера БД, на который настроена база данных «BD».

См. также:

IMetabaseUpdateSqlNode