SetDefaultSql(Value: String);
Value. SQL query text.
The SetDefaultSql method assigns SQL query text used for all DBMS by default.
Use the IMetabaseUpdateSqlNode.Sql method to assign separate SQL query text for a specified DBMS.
Executing the example requires that the repository contains a table with the OBJ_TABLE identifier and a database with the DB identifier. The schema on which this database is set contains a table with the LOG_TABLE physical name. There is a history of execution of any actions in this table. The table has fields ACTION and DATE_ACTION in which action description and date when it happened are specified.
Add links to the Metabase and Db system assemblies.
Sub UserProc;
Var
Mb: IMetabase;
Db: IMetabaseObject;
Mu: IMetabaseUpdate;
Root: IMetabaseUpdateFolderNode;
SQLNode: IMetabaseUpdateSqlNode;
DNode: IMetabaseUpdateDataObjectNode;
Begin
Mb := MetabaseClass.Active;
Db := Mb.ItemById("DB").Bind;
Mu := Mb.CreateUpdate;
Root := Mu.RootFolder;
DNode := Root.Add(MetabaseUpdateNodeType.DataObject) As IMetabaseUpdateDataObjectNode;
DNode.Object := MB.ItemById("OBJ_TABLE");
DNode.UpdatePart := MetabaseObjectUpdatePart.DataMetadata;
SQLNode := Root.Add(MetabaseUpdateNodeType.Sql) As IMetabaseUpdateSQLNode;
SQLNode.Label := "SQL";
SqlNode.ClearSql;
SqlNode.SetDefaultSql("Insert Into Log_Table (ACTION,DATE_ACTION) " +
"Values('Update table Table_1', sysdate) ");
SqlNode.Database := Db.Key;
Mu.SaveToFileNF("c:\Update.pefx");
End Sub UserProc;
After executing this example a new update is created. Data and metadata of the OBJ_TABLE table are added in update. SQL operator is also added in update. On executing this SQL operator a new record that contains information about the OBJ_TABLE table update is added in the LOG_TABLE table. SQL query is executed for all DBMS.
See also: