public override string GetProcedure(TableName pname) { var table = pname.FillDataTable($"USE [{pname.DatabaseName.Name}]; SELECT ROUTINE_DEFINITION FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_SCHEMA='{pname.SchemaName}' AND ROUTINE_NAME='{pname.Name}'"); return(table.AsEnumerable() .Select(row => row.Field <string>("ROUTINE_DEFINITION")) .FirstOrDefault()); }
internal ComputedColumns(TableName tname) { string SQL = $@" USE [{tname.DatabaseName.Name}] SELECT c.name FROM sys.tables t JOIN sys.columns c ON t.object_id = c.object_id WHERE t.name = '{tname.Name}' AND c.is_computed = 1"; this.columnNames = tname.FillDataTable(SQL).ToArray <string>(0); }
public override DataTable GetTableSchema(TableName tname) { string SQL = string.Format(SQL_SCHEMA, string.Empty, $"AND pk.TABLE_SCHEMA = '{tname.SchemaName}'", $"WHERE t.name='{tname.Name}' AND SCHEMA_NAME(t.schema_id) = '{tname.SchemaName}'"); StringBuilder builder = new StringBuilder(); builder.AppendLine($"USE [{tname.DatabaseName.Name}]"); builder.Append(SQL); SQL = builder.ToString(); return(tname.FillDataTable(SQL)); }