Query script ============ **Energy.Query.Script** generates SQL scripts such as CREATE TABLE, DROP TABLE, and MERGE statements for a given SQL dialect. Creating a script ----------------- ```csharp Energy.Query.Script script = new Energy.Query.Script(Energy.Enumeration.SqlDialect.MYSQL); Energy.Source.Structure.Table table = new Energy.Source.Structure.Table(); table.Name = "Users"; table.Columns.New("Id").Type = "BIGINT"; table.Columns.New("Name").Type = "VARCHAR(100)"; string create = script.CreateTable(table, Energy.Query.Style.Global); ``` Methods ------- | Method | Description | |--------|-------------| | `CreateTable(Table, Style)` | Generate CREATE TABLE script. | | `CreateTable(Table)` | Generate CREATE TABLE script. | | `CreateDescription(Table)` | Generate extended-property descriptions. | | `CreateIndex(Table)` | Generate index scripts. | | `DropTable(string)` | Generate DROP TABLE script. | | `Merge(Table, bool)` | Generate MERGE/UPSERT script. | | `Merge(Table)` | Generate MERGE script. | | `CurrentTimestamp()` | Return current timestamp expression. | Dialect ------- The script is initialized with a dialect. You can also implicitly cast a dialect to a script. ```csharp Energy.Query.Script mysql = Energy.Enumeration.SqlDialect.MYSQL; ``` Format ------ The script uses an `Energy.Query.Format` object to quote identifiers. By default the format is derived from the dialect. See also -------- - `query-dialect` - `query-style` - `source-structure`