Sử dụng Raw SQL & Stored Procedure trong MySQL

Khi làm việc với các hệ thống cơ sở dữ liệu MySQL hoặc MariaDB có sẵn (Legacy Database), nhiều trường hợp bạn cần thực thi các tác vụ hiệu năng cao thông qua câu lệnh SQL thuần túy hoặc kích hoạt các Stored Procedure đã được tối ưu sẵn dưới DB. Dưới đây là hướng dẫn chi tiết cách viết prompt để Claude Code sinh mã nguồn và thực thi các câu lệnh này trong NestJS thông qua lớp DataSource (không cần thông qua Entity).

1. Gọi Stored Procedure trong MySQL

Trong MySQL, các thủ tục lưu trữ được kích hoạt bằng từ khóa CALL. Khi nhận kết quả trả về, bạn cần chú ý cấu trúc dữ liệu của MySQL.
MySQL luôn trả về một mảng chứa nhiều phần tử, trong đó phần tử đầu tiên (chỉ số 0) mới là mảng danh sách bản ghi kết quả thực tế, các phần tử tiếp theo chứa metadata của phiên làm việc.

2. Thực thi ghi dữ liệu thuần túy (INSERT, UPDATE, DELETE)

Khi thực thi viết mã SQL thuần túy để thêm, sửa, xóa dữ liệu trong MySQL, bạn bắt buộc phải sử dụng ký tự giữ chỗ ? để truyền giá trị tham số an toàn chống tấn công SQL Injection.