Anforderungen: Sie müssen feststellen, ob es Syntaxfehler in der SQL-Anweisung gibt, um sicherzustellen, dass sie normal in der SQL-Server-Datenbank ausgeführt werden kann, und dann den Tabellennamen der Ausführungsanweisung erhalten.
SqlScriptDOM
SqlScriptDOM (SQL Script Document Object Model) ist ein Teil des .NET-Frameworks, der hauptsächlich zum Parsen und Bearbeiten von T-SQL-Skripten verwendet wird. Es bietet eine Reihe von APIs, die es Entwicklern ermöglichen, T-SQL-Code für SQL Server programmatisch zu lesen, zu modifizieren oder zu generieren. Dies ist nützlich in Situationen, in denen Datenbankskripte automatisiert werden müssen, wie z. B. in Datenbankmigrationstools, Datenbankversionierung oder in jeder Anwendung, bei der SQL-Anweisungen dynamisch erstellt werden müssen.
Mit SqlScriptDOM können Sie:
Parse SQL-Skripte: Wandeln Sie T-SQL-Code in eine Baumstruktur um, um das Verständnis und die Verarbeitung zu erleichtern. Durchqueren von AST (Abstract Syntax Tree): Zugriff auf verschiedene Teile deines SQL-Skripts, indem du diese Baumstruktur durchläuft. Generiere SQL-Skripte: Regeneriere T-SQL-Code basierend auf dem modifizierten abstrakten Syntaxbaum. Statische Analyse durchführen: Überprüfen Sie mögliche Fehler oder Unregelmäßigkeiten in SQL-Skripten, ohne sie tatsächlich auszuführen. Unterstützung für eine Vielzahl von SQL-Elementen, einschließlich, aber nicht beschränkt auf, Tabellendefinitionen, Ansichten, gespeicherte Prozeduren usw.
Quelle:Der Hyperlink-Login ist sichtbar. Dokumentation:Der Hyperlink-Login ist sichtbar.
Versionsabbildungsreferenz
SqlVersionFlags Schnellreferenz:
| Logo | SQL-Server-Version | Jahr | Gemeinsame Merkmale | | TSql80 und höher | 2000 | 2000 | Grundlegendes T-SQL | | TSql90 und höher | 2005 | 2005 | XML、CTE | | TSql100 und höher | 2008 | 2008 | Zusammenführen, Dateifluss | | TSql110 und höher | 2012 | 2012 | Sequenzen, Fensterfunktionen | | TSql120 und höher | 2014 | 2014 | Speicher-OLTP, maximale Dauer | | TSql130 und höher | 2016 | 2016 | JSON, Tempustabelle | | TSql140 und höher | 2017 | 2017 | Was würde ich mir denken, STRING_AGG | | TSql150 und höher | 2019 | 2019 | UTF-8, Smart QP | | TSql160 und höher | 2022 | 2022 | Wiederherstellbare Einschränkungen, JSON-Verbesserungen | | TSql170 und höher | 2025 | 2025 | Vektorsuche, KI-Funktionen |
NUGET verweist wie folgt:
Parse-Tabellennamen
Parse den Tabellennamen in der Select-Anweisung mit folgendem Code:
Wie unten gezeigt:
Überprüfen Sie die SQL-Abfragesicherheit, erlauben Sie nur die Ausführung der SELECT-Klasse (ungetestet), der Code ist wie folgt:
(Ende) |