示例#1
0
        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);
        }
示例#2
0
        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();
        }
示例#3
0
        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);
		}
示例#5
0
 /// <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);
 }