데이터베이스 개발자 질문과 답변 게시판
데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.
exec면 wsprintf로 문자열 조합을 해서 실행하고, 결과값은 바인딩 해서 받아야할테고..
call은 SQLBindParameter()로 주고받을 값 모두 바인딩해서 실행하는 식이던데요.
exec로 하면 Re-Compile이 일어난다고 하던데 사실인가요?
EXEC 대신 Call 로 바꿔서 사용하는게 좋다고 하는게 맞는 말인가요?
환경은 vs2005, DB는 SQL Server 2008 입니다.
Comment 1
-
catchv
2013.02.22 11:47
Profiler로 보시면 두개의 차이점을 확실히 아실 수 있습니다.
그리고 문자열 조합은 왠만하면 사용하지 않는 것이 좋습니다. 다른 것을 떠나서 보안에 심각한 영향을 줄 수 있습니다.
프로시져를 EXEC로 실행하면 재컴파일이 된다는 것은 들어 보지 못한것 같습니다.