public static string SelectCountIsUpdateFromOutputTable(TableInfo tableInfo) { return $"SELECT COUNT(*) FROM {tableInfo.FullTempOutputTableName} WHERE [IsUpdate] = 1"; }
public static string CreateTableCopy(string existingTableName, string newTableName, TableInfo tableInfo, bool isOutputTable = false) { // TODO: (optionaly) if CalculateStats = True but SetOutputIdentity = False then Columns could be ommited from Create and from MergeOutput List<string> columnsNames = (isOutputTable ? tableInfo.OutputPropertyColumnNamesDict : tableInfo.PropertyColumnNamesDict).Values.ToList(); string isUpdateStatsColumn = (tableInfo.BulkConfig.CalculateStats && isOutputTable) ? ",[IsUpdate] = CAST(0 AS bit)" : ""; var q = $"SELECT TOP 0 {GetCommaSeparatedColumns(columnsNames, "T")} " + isUpdateStatsColumn + $"INTO {newTableName} FROM {existingTableName} AS T " + $"LEFT JOIN {existingTableName} AS Source ON 1 = 0;"; // removes Identity constrain return q; }
public static string SelectFromOutputTable(TableInfo tableInfo) { List<string> columnsNames = tableInfo.OutputPropertyColumnNamesDict.Values.ToList(); string timeStampColumnNull = tableInfo.TimeStampColumn != null ? $", {tableInfo.TimeStampColumn} = NULL" : ""; return $"SELECT {GetCommaSeparatedColumns(columnsNames)}{timeStampColumnNull} FROM {tableInfo.FullTempOutputTableName}"; }