sp_executesql
-
동적 SQL, EXEC() 와 sp_executesql데이터베이스와 SQL 2023. 1. 7. 10:51
문자열로 구서왼 동적 쿼리가 필요할 경우, 기본적으로 sp_executesql을 사용한다. EXEC() 보다 상대적으로 보안이 안전한 편이며 컴파일 부하가 적다. 한번 컴파일 하면, Caching된 것을 사용하기 때문에 Cache의 재사용 효율이 좋다. 또한 출력 매개변수 지원을 지원한다. EXEC()는 순수 동적 쿼리로, Query Optimizer에 의해 자동 매개변수화 쿼리로 변환이 가능하다. EXEC() DECLARE @TableName varchar(128) = 'Orders', OrderID int = 10248; DECLARE @sql varchar(8000), @sql2 varchar(max); SET @sql = 'SELECT OrderID, OrderDate' + ' FROM ' + '..