Database: Integer;
Свойство Database определяет ключ базы данных, для соединения с которой будет выполняться SQL-запрос.
Для выполнения примера предполагается наличие в репозитории таблицы с идентификатором "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".
См. также: