Часть 3. Практика · Глава 7 · 7.11
SQL-проверки
Цель: Получить корректные SQL-запросы для проверки данных после сценария (проверка записей в БД, подсчёт, целостность). Используйте низкую температуру (0–0.1) для минимизации синтаксических ошибок.
⏱ Время: 10–15 минут на описание схемы/сценария и прогон + 5–10 минут на проверку запроса в тестовой БД.
SQL для проверки состояния БД
RTCCO
7.11 — пост-условия и верификация данныхsqlбаза данныхпроверка данных
Ты — QA-инженер с опытом в SQL. Сгенерируй только SQL-запросы для проверки данных. Контекст СУБД: PostgreSQL 16.2 Особенности синтаксиса: CTE (WITH), RETURNING, gen_random_uuid() Схема (обезличенная): promo_codes, orders, promo_applications — только поля из требований Задача: После выполнения сценария [кратко опиши сценарий] нужно проверить: - [Что проверить 1, например: в таблице orders появилась запись с order_id = X и status = 'paid'] - [Что проверить 2, например: количество записей в order_items для этого заказа] Схема (если известна): [названия таблиц и ключевых полей] Ограничения: - Только валидный SQL, без пояснений в середине запроса. - Не выдумывай таблицы и поля, которых нет в схеме; если чего-то не хватает — напиши: "Требуется уточнение: [что]". - Формат вывода: один запрос на пункт проверки, с комментарием в одной строке перед запросом.
Частые ошибки применения шаблона
- SQL под другую СУБД (MySQL-синтаксис при PostgreSQL).
- Таблицы и поля выдуманы — нет схемы или обезличенного описания.
- Запрос выполняют на production без ревью и без тестовой среды.
Всегда проверяй сгенерированный SQL на тестовой БД и подставь реальную схему — LLM может ошибаться в названиях полей и диалекте.