Вимоги: Потрібно визначити, чи є синтаксичні помилки в SQL-операторі, щоб забезпечити нормальне виконання в базі даних SQL Server, а потім отримати назву таблиці виконавчого оператора.
SqlScriptDOM
SqlScriptDOM (SQL Script Document Object Model) — це частина .NET-фреймворку, яка головним чином використовується для розбору та маніпуляції скриптами T-SQL. Він надає набір API, які дозволяють розробникам програмно читати, змінювати або генерувати T-SQL код для SQL Server. Це корисно в ситуаціях, коли потрібно автоматизувати скрипти баз даних, наприклад, у інструментах міграції баз даних, версуванні баз даних або будь-якому додатку, де потрібно динамічно будувати SQL-оператори.
Зі SqlScriptDOM ви можете:
Аналіз SQL-скриптів: Перетворіть T-SQL код у деревоподібну структуру для легкого розуміння та обробки. Проходження AST (Абстрактне дерево синтаксису): Отримуйте доступ і змінюйте різні частини вашого SQL-скрипту, проходячи цю структуру дерева. Генеруйте SQL-скрипти: Перегенеруйте T-SQL код на основі зміненого абстрактного синтаксичного дерева. Виконуйте статичний аналіз: перевіряйте потенційні помилки або аномальності в SQL-скриптах, не запускаючи їх самостійно. Підтримка різноманітних елементів SQL, включно, але не обмежуючись, визначенням таблиць, переглядами, збереженими процедурами тощо.
Джерело:Вхід за гіперпосиланням видно. Документації:Вхід за гіперпосиланням видно.
Посилання на відображення версій
Швидка довідка про SqlVersionFlags:
| Логотип | Версія для SQL Server | рік | Поширені характеристики | | TSql80 і вище | 2000 | 2000 | Базовий T-SQL | | TSql90 і вище | 2005 | 2005 | XML、CTE | | TSql100 і вище | 2008 | 2008 | Об'єднання, потік файлів | | TSql110 і вище | 2012 | 2012 | Послідовності, віконні функції | | TSql120 і вище | 2014 | 2014 | Пам'ять OLTP, максимальна тривалість | | TSql130 і вище | 2016 | 2016 | JSON, напружена таблиця | | TSql140 і вище | 2017 | 2017 | Уявіть собі, STRING_AGG | | TSql150 і вище | 2019 | 2019 | UTF-8, Smart QP | | TSql160 і вище | 2022 | 2022 | Відновлювані обмеження, покращення JSON | | TSql170 і вище | 2025 | 2025 | Векторний пошук, функції штучного інтелекту |
NUGET посилається наступним чином:
Назви таблиць розбору
Розберіть назву таблиці в операторі select наступним кодом:
Як показано нижче:
Перевірити безпеку запитів SQL, дозволити виконання лише класу SELECT (неперевірений), код виглядає так:
(Кінець) |