private string IndKeys(APGenTable table, APGenIndex index, bool isunique) { string ix_keys = ""; foreach (APGenOrder order in index.Orders) { if (ix_keys != "") { ix_keys += ","; } ix_keys += table.Columns[order.Name].ColumnName; if (!isunique && order.According == APSqlOrderAccording.Desc) { ix_keys += "(-)"; } } return(ix_keys); }
private void _createUnique(APDatabase db, APGenTable table, APGenIndex index) { StringBuilder sb = new StringBuilder(); sb.AppendFormat("alter table {0} add constraint {1} unique (", table.TableName, index.Name); foreach (APGenOrder order in index.Orders) { sb.AppendFormat("\r\n\t{0},", table.Columns[order.Name].ColumnName); } sb.Length--; sb.Append("\r\n)"); // alter table table_name add constraint uq_name ( // column_name, // ... // ) DbCommand dbCmd = db.CreateSqlCommand(sb.ToString()); dbCmd.ExecuteNonQuery(); }
private void _createIndex(APDatabase db, APGenTable table, APGenIndex index) { StringBuilder sb = new StringBuilder(); sb.AppendFormat("create index {0} on {1} (", index.Name, table.TableName); foreach (APGenOrder order in index.Orders) { sb.AppendFormat("\r\n\t{0} {1},", table.Columns[order.Name].ColumnName, order.According.ToString()); } sb.Length--; sb.Append("\r\n)"); // create index index_name on ( // column_name [ASC|DESC], // ... // ) DbCommand dbCmd = db.CreateSqlCommand(sb.ToString()); dbCmd.ExecuteNonQuery(); }
/// <summary> /// Add a database index definition to collection. /// </summary> /// <param name="index">The database index definition to add.</param> public void Add(APGenIndex index) { BaseAdd(index); }