2 Stimmen

Wie lassen sich Datenbankprozeduren am besten refaktorisieren?

Ich muss einige T-SQL gespeicherte Prozeduren verstehen und klären, die wichtige Geschäftslogik enthalten. Kennt jemand irgendwelche Tools, Tipps, Tricks oder Hinweise, die für Unit-Tests verwendet werden können, damit ich diese SQL überarbeiten kann, ohne sie zu zerstören?

2voto

Robert Harvey Punkte 173098

Simon Harriyott schlägt vor, Folgendes zu verwenden TSqlUnit für diese. Hier finden Sie weitere Informationen über seinen Prozess in seinem Blog .

2voto

tbreffni Punkte 5048

Wenn Sie Zugriff auf die Visual Studio Team System Database Edition haben, dann wird diese mit einer Reihe von Unit-Testing-Tools geliefert, die speziell auf Datenbanken ausgerichtet sind, wie in diesem MSDN-Artikel .

2voto

A-K Punkte 16460

Ich verwende C# für Unit-Tests von gespeicherten Prozeduren - das ist viel effizienter als T-SQL. Der erste Link erklärt, wie man schnell Unit-Tests erstellen kann.

Schließen Sie die Schlupflöcher - Testen gespeicherter Prozeduren

Schließen Sie diese Schlupflöcher - Testen von Datenbankmodifikationen

2voto

Kathy Van Stone Punkte 24475

Für Hilfe zum Refactoring selbst (im Gegensatz zum Testen, damit Sie refactoring durchführen können), lesen Sie bitte auch Refactoring von Datenbanken (entweder das Buch oder die Website).

Ich habe Tests für gespeicherte Prozeduren mit dem aufrufenden Code geschrieben (in meinem Fall Java mit dbunit), aber ich weiß nicht, wie es im Vergleich zu anderen Methoden wäre.

1voto

KM. Punkte 98297

Warum müssen Sie refaktorisieren?

Fügen Sie eine Reihe von PRINT-Anweisungen hinzu und führen Sie sie manuell über das Management Studio aus. Wenn Sie die richtigen Informationen ausdrucken, sollten Sie in der Lage sein, den Code zu verfolgen und zu verstehen, was vor sich geht.

Wenn Sie nicht wissen, welche Parameter Sie verwenden sollen, modifizieren Sie es so, dass die Eingabeparameter in eine Protokolldatei gesendet werden, und verwenden Sie diese dann, um es manuell auszuführen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X