Динамічні запити sql - прийоми використання
Динамічні SQL запити зазвичай використовують, щоб обійти синтаксичні обмеження. Але часто використовувати їх не рекомендується, тому що є деякі проблеми в безпеці.
Наприклад, потрібен запит, в якому ім'я таблиці сприймається як параметр (щоб можна було його ставити). Синтаксично змінну в звичайний sql запит поставити не можна. Ось як виглядає неправильний запит:
Синтаксично в поле FROM не можна підставляти змінну. Щоб уникнути помилки, треба цей запит зробити динамічним.
Сама технологія динамічного запиту означає: спочатку збираємо SELECT, а потім його виконуємо. Тобто спочатку збираємо код (наприклад, на мові sql), а потім його виконуємо. Для цього використовується команда EXECUTE. Ось як виглядає правильний приклад:
Оскільки сервер сприймає наш код як рядок, то туди можна ставити все, що завгодно. А EXECUTE намагається зробити з цього рядка працює запит і виконати його.
Те ж саме можна зробити і з конструкцією PIVOT.
Ваша безпека
Публікація цікавих статей IT індустрії, огляди новинок, питання безпеки. Можливості та проблеми Androis, LInux, IOS, Windows систем.