런타임 시 문 작성
런타임 시 SQL 문을 동적으로 작성해야 하는 대부분의 MicrosoftSQL Server 응용 프로그램에서는 데이터베이스 API 함수 또는 메서드를 호출하여 문을 실행하기 전에 SQL 문을 작성합니다. 예를 들어 ODBC를 사용하는 C 언어 응용 프로그램에서는 동적으로 하나 이상의 SQL 문을 문자 배열로 작성하고 해당 배열을 SQLPrepare 또는 SQLExecDirect 함수로 전달합니다.
Transact-SQL은 Transact-SQL 스크립트, 저장 프로시저 및 트리거에서 런타임 시 SQL 문을 작성하는 다음과 같은 방법을 지원합니다.
sp_executesql 시스템 저장 프로시저를 사용하여 유니코드 문자열을 실행합니다. sp_executesql은 RAISERROR 문과 유사한 매개 변수 대체를 지원합니다.
EXECUTE 문을 사용하여 문자열을 실행합니다. EXECUTE 문은 실행된 문자열에서 매개 변수 대체를 지원하지 않습니다.
보안 정보 EXECUTE 문을 사용하여 문자열을 실행하면 SQL 삽입 공격을 받기 쉽습니다. 대신 sp_executesql을 매개 변수와 함께 사용하는 것이 좋습니다.