SQL động là các truy vấn SQL được viết trong biến chuỗi và thực thi biến chuỗi đó, được xử lý động theo các tham số của Stored procedure hoặc theo các biến tùy vào từng trường hợp cụ thể. Một số trường hợp hay gặp:
– Mệnh đề Where động.
– Xử lý danh sách cột động
– Table động
Thực thi SQL động:
Có hai dạng viết SQL động là EXEC() và sp_ExecuteSql
– Dạng 1: sử dụng EXEC()
Cú pháp: EXEC(@SqlString), trong đó @SqlString là chuỗi sql động.
– Dạng 2: sử dụng Sp_ExecuteSql()
Cú pháp:
EXEC SP_EXECUTESQL @STATEMENT = @SqlString, @params = @ParamDefinition, @Param1 = Val1, @Param2 = Val2
Với:
@SqlString: là câu lệnh sql thực hiện, có kiểu dữ liệu NVARCHAR(MAX).
@params: là định nghĩa các tham số dùng trong câu lệnh sql trong @SqlString, kiểu dữ liệu NVARCHAR(MAX).
Các tham số còn lại dùng để gán giá trị cho các tham số đã được khai báo trong @ParamDefinition