Sử dụng Raw SQL & Stored Procedure trong MS SQL Server

Hệ quản trị cơ sở dữ liệu MS SQL Server (MSSQL) của Microsoft rất phổ biến trong môi trường doanh nghiệp. Do tính đặc thù về hiệu năng, các hệ thống MSSQL cũ thường xử lý nghiệp vụ thông qua hệ thống Stored Procedure đồ sộ thay vì viết code xử lý ở Backend. Dưới đây là hướng dẫn chi tiết cách viết prompt để Claude Code sinh mã nguồn tương tác và thực thi các thủ tục lưu trữ trong NestJS thông qua lớp DataSource (không qua Entity).

1. Gọi Stored Procedure trong MS SQL Server

Trong MS SQL Server, bạn sử dụng từ khóa EXEC hoặc EXECUTE để kích hoạt Stored Procedure và hỗ trợ truyền tham số theo tên (Named Parameters) để code rõ ràng hơn.
Hãy viết một hàm 'processInventory' trong 'InventoryService' (file src/inventory/inventory.service.ts):
- Sử dụng 'DataSource' để chạy query thuần túy không qua Entity.
- Gọi Stored Procedure 'ProcessProductInventory' trong SQL Server (MSSQL).
- Truyền các tham số theo tên: @productId (string) và @quantity (number).
- Sử dụng khối try-catch để bắt lỗi kết nối CSDL và ném ra lỗi phù hợp.

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

MSSQL cũng sử dụng ký tự giữ chỗ ? làm tham số truyền tin an toàn giống như MySQL khi thực thi các câu lệnh SQL viết tay.
Hãy viết một service 'RawTasksService' trong file 'src/tasks/raw-tasks.service.ts':
- Sử dụng 'DataSource' để chạy các câu lệnh SQL thuần túy (INSERT, UPDATE, DELETE) trực tiếp trên MS SQL Server, không sử dụng Entity.
- Hàm 'createTask' nhận vào title, description: Chạy lệnh INSERT INTO vào bảng 'tasks'.
- Hàm 'updateTaskStatus' nhận vào id và status: Chạy lệnh UPDATE.
- Hàm 'deleteTask' nhận vào id: Chạy lệnh DELETE FROM.