private void GenerateLoadDimInterface(StringBuilder sb, StarDimensionTable ifa) { sb.Append($"-- Load DimensionInterface {ifa.Name}\n"); sb.Append($"insert into {ifa.Name} (\n"); foreach (var attr in ifa.Attributes) { sb.Append($"{attr.Name}".Indent(1)); if (attr != ifa.Attributes.Last()) { sb.Append(","); } sb.Append("\n"); } sb.Append(") \n"); sb.Append("select \n"); foreach (var attr in ifa.Attributes) { sb.Append($"{attr.JoinAlias}.{GetBTName(attr.BTAttribute)} as {attr.Name}".Indent(1)); if (attr != ifa.Attributes.Last()) { sb.Append(","); } sb.Append("\n"); } sb.Append($"from {ifa.MainBTInterface.FullName} as t0\n"); // Referenzierte/untergeordnete Dimensionen joinen foreach (var ifaRef in ifa.InterfaceReferences) { sb.Append($"left join {ifaRef.ReferencedBTInterface.FullName} as {ifaRef.JoinAlias}\n"); sb.Append($"on {ifaRef.JoinAlias}.{ifaRef.ReferencedRefColumnName} = {ifaRef.ParentJoinAlias}.{ifaRef.ParentRefColumnName}\n".Indent(1)); } sb.Append(";\n\n"); }
private void GenerateDimensionInterface(StringBuilder sb, StarDimensionTable ifa) { sb.Append($"truncate table {ifa.Config.ALDatabase}.dbo.{ifa.Name} \n"); sb.Append($"insert into {ifa.Config.ALDatabase}.dbo.{ifa.Name} (\n"); foreach (var a in ifa.Attributes) { sb.Append($"{a.Name}".Indent(1)); if (a != ifa.Attributes.Last()) { sb.Append(","); } sb.Append("\n"); } sb.Append(") select \n"); foreach (var a in ifa.Attributes) { sb.Append($"{a.Name}".Indent(1)); if (a != ifa.Attributes.Last()) { sb.Append(","); } sb.Append("\n"); } sb.Append($"from [{ifa.Config.EtlDbServer}].{ifa.Config.ALDatabase}.dbo.{ifa.Name};\n"); sb.Append("\n"); }
private void GenerateDimensionInterface(StringBuilder sb, StarDimensionTable i) { sb.Append($"create table {i.Name} (\n"); foreach (var a in i.Attributes) { sb.Append($"{a.Name} {a.SqlType}".Indent(1)); if (a == i.IdColumn) { sb.Append(" primary key not null"); } if (a != i.Attributes.Last()) { sb.Append(","); } sb.Append("\n"); } sb.Append(");\n"); sb.Append("\n"); }
private void GenerateTruncateDimInterface(StringBuilder sb, StarDimensionTable ifa) { sb.Append($"-- Inhalt von {ifa.Name} löschen\n"); sb.Append($"truncate table {ifa.Name};\n\n"); }
private void GenerateDimensionInterface(StringBuilder sb, StarDimensionTable ifa) { sb.Append($"drop table if exists {ifa.Name};\n"); }
private void GenerateDimensionInterface(StringBuilder sb, StarDimensionTable ifa) { sb.Append($"IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[{ifa.Name}]') AND type in (N'U'))\n"); sb.Append($"drop table {ifa.Name}\n".Indent(1)); sb.Append("go\n\n"); }