T-SQL nach PL/pgSQL portieren — Prozeduren und Funktionen migrieren

Die Daten sind drüben, das Schema steht — und dann liegen da 200 Stored Procedures, die kein Werkzeug für dich übersetzt. pgloader migriert Tabellen und Daten, aber die Logik in Prozeduren, Funktionen und Triggern bleibt liegen. Das ist die Phase, die wirklich Arbeit macht: T-SQL nach PL/pgSQL portieren, Zeile für Zeile, mit Verständnis statt Suchen-und-Ersetzen. Die gute Nachricht: Der … Weiterlesen

Datenqualität // Grundlagen der Typ-Konvertierung mit T-SQL — CAST, CONVERT, TRY_CAST und TRY_CONVERT im Vergleich

Ein Datum aus einer CSV-Datei landet als Text in der Datenbank — und plötzlich wird aus dem 2. November der 11. Februar. Solche stillen Fehlinterpretationen sind der Klassiker bei der Typ-Konvertierung in SQL Server. Wer CAST, CONVERT, TRY_CAST und TRY_CONVERT samt Style-Parameter kennt, vermeidet sie. Das Wichtigste vorab: Voraussetzung: SQL Server mit SSMS; die Beispiele sind reines T-SQL ohne Sample-Datenbank. Dieser Artikel … Weiterlesen

Design Pattern // Sichere Typ-Konvertierung mit T-SQL — Fehler erkennen, statt den ETL-Prozess abzubrechen

Ein einziger nicht konvertierbarer Wert — ein 25.5 in einer Integer-Spalte, ein leerer String, ein Datum wie 20240230 — und der ETL-Lauf bricht mitten im Import ab. Wer Textdaten aus Vorsystemen lädt, kennt das: Die Lieferung hält sich nicht an die vereinbarte Schnittstelle, und ein nacktes CONVERT wirft eine Exception, statt den fehlerhaften Wert sauber zu protokollieren. Dieser Artikel beschreibt ein Design … Weiterlesen

Design Pattern // Protokollierung eines ETL-Prozesses — wie sich Lauf, Komponente und Aktion auswertbar protokollieren lassen

Ein ETL-Prozess endet ohne Exception — aber wurde wirklich alles geladen, was hätte geladen werden müssen? Allein der Umstand, dass ein Prozess nicht abgebrochen ist, sagt noch nichts darüber, ob er auch das getan hat, was von ihm erwartet wurde. Ein les- und auswertbares Protokoll macht den Unterschied zwischen Bauchgefühl und belastbarer Aussage. Dieses Design … Weiterlesen

SSIS vs. SQL — wann SSIS, wann reines T-SQL, wann beides kombinieren?

SSIS, T-SQL oder eine Kombination beider? Den einen richtigen Weg gibt es nicht. Was es gibt, ist eine Handvoll Entscheidungs-Kriterien, an denen jede konkrete Wahl — Technologie wie Einsatz-Umfang — gemessen werden sollte: Lesbarkeit, Quellcodeverwaltung, Identitätswechsel. Diese Artikel-Serie nimmt sich diese drei Achsen vor und liefert pro Achse ein konkretes Argument. Wer bei der ETL-Tool-Wahl ohne diese Kriterien argumentiert, landet … Weiterlesen

Komplexe SQL-Statements kommentieren — parallele Inline-Dokumentation, die die Lesbarkeit nicht zerstört

Wer ein 200-Zeilen-SELECT mit rekursiver CTE schreibt, versteht es beim Schreiben vollständig — und drei Wochen später kein Wort mehr davon. Inline-Kommentare sind das Sicherheitsnetz dagegen. Das Problem: schlecht gesetzt, zerstören sie genau die Lesbarkeit, die sie retten sollen. Was dieser Artikel zeigt: Voraussetzung: Die Beispiele laufen gegen AdventureWorksDW2017 (Tabelle [dbo].[DimEmployee], rekursive CTE über ParentEmployeeKey). SSMS dient als Beispiel-Editor — die … Weiterlesen

Formatierung von SQL Statements (Teil 2) — Statement-Aufbau: SELECT, WHERE, FROM, JOIN

Wer in einem 200-Zeilen-SELECT-Statement nicht erkennen kann, wo die WHERE-Klausel anfängt und wo sie aufhört, hat ein Strukturproblem — kein Inhaltsproblem. Dieser Artikel zeigt das Layout, das auch lange Statements navigierbar hält. → Teil einer Reihe. Dieser Artikel ist Teil 2 und behandelt den Statement-Aufbau (SELECT, WHERE, FROM, JOIN). Die Bezeichner-, Delimiter-, Komma- und Alias-Grundlagen stehen in Teil 1 — Bezeichner, Delimiter, Kommata, … Weiterlesen

Formatierung von SQL Statements (Teil 1) — Bezeichner, Delimiter, Kommata, Aliase

Wer ein schlecht oder gar nicht formatiertes SELECT mit 30 Spalten und einem halben Dutzend Joins einmal hat debuggen müssen, weiß: nicht das SQL kostet den Tag, sondern die Suche danach, was es eigentlich tut. Formatierung von SQL ist keine Geschmacksfrage, sondern ein Wartungs-Werkzeug — und sie beginnt bei einer Namenskonvention. → Teil einer Reihe. Dieser … Weiterlesen

Editor-Optionen in SSMS — damit SQL-Code im Team überall gleich aussieht

 Ein SQL-Statement, das beim einen Entwickler sauber eingerückt aussieht, zerfällt beim Kollegen in ein Treppenmuster — obwohl niemand etwas am Code geändert hat. Schuld sind fast immer unterschiedliche Editor-Einstellungen: eine andere Tab-Weite, Tabulatoren statt Leerzeichen, eine nicht-monospaced Schriftart. Lesbarer SQL-Code im Team beginnt deshalb nicht beim Tippen, sondern bei den Editor-Optionen. Das Wichtigste vorab: Voraussetzung: ein … Weiterlesen

Strukturierung und Formatierung von SQL Statements — der Cluster-Pfad

Ein komplexes SQL-Statement ist schon schwer genug zu lesen — wechselnde Coding-Styles im selben File machen jede Zeile zur zusätzlichen Re-Orientierungs-Übung. SQL-Formatierung ist deshalb Team-Verantwortung, kein persönliches Geschmacksthema. Kurzüberblick: Voraussetzung: SQL Server 2017+ oder Postgres 12+ — SSMS bleibt 2018er Referenz-Editor, die Prinzipien gelten für jeden SQL-Editor mit Block-Selection. Inhalt Vorgeschichte: 2.000 Zeilen, drei Stile Vor einiger … Weiterlesen