반응형

DYNAMIC SQL 5

동적 쿼리의 해결사 sp_executesql vs. exec

Visual Basic, ASP, VB.NET에서 ADO, ADO.NET을 이용한 Database 프로그램을 개발하는 경우 프로그램내에 SQL 구문을 문자열로 연결한 후 실행하도록 구성한 코드를 많이 보게 된다. 이러한 코드 구성을 일반적으로 '동적 쿼리', '하드 코딩된 쿼리'라 부른다. 예를 들어 비주얼 베이직의 경우 Dim strSQL As String strSQL="select orderid, orderdate, employeeid from orders" strSQL=strSQL+" where orderid=" & txtOrderID cnn.Execute strSQL 하지만 이같은 동적 쿼리는 가능한 사용하지 않는 것이 좋다. 대신 SQL Server의 저장 프로시저를 이용해 처리 용량과 응답 속..

WorkaHolic 2010.04.08

서버 측 동적 쿼리에서의 탈출

mari's .NET | 마리 http://blog.naver.com/cg0616/4971972 (T-SQL) 서버 측 동적 쿼리에서의 탈출 김정선 삼성 SDS 멀티캠퍼스 전임 강사 Microsoft SQL Server MVP 요약. 수년 전부터 MS 플랫폼에서 SQL Server를 연동한 프로젝트 수행 시 개발 방법론의 중요한 한 축으로 저장 프로시저의 적극적인 활용이 일반화되고 있다. 그로 인한 부작용 중에 하나는 이전에 응용 프로그램 아키텍처 상의 프레젠테이션 계층 혹은 비즈니스 서비스 계층에서 문자열 데이터로 동적으로 구성하던 쿼리가 저장 프로시저를 통해서 서버 측에서 구성이 된다는 것이다. “서버 측 동적 쿼리”(이하 동적 쿼리로 표기)라고 표현하는 이러한 동적 T-SQL 또는 일괄처리는 성능상..

WorkaHolic 2010.04.08

MSSQL 동적 SQL의 축복과 저주

원문 : SQL Server MVP Erland Sommarskog의 SQL Text 번역 : quest, ASP MVP (microsoft.public.kr.asp.qna) Microsoft SQL 서버에 대한 여러 뉴스그룹에서 왜 다음 쿼리가 불가능한지를 문의하는 사람들을 종종 보게 된다.:SELECT * FROM @tablename SELECT @colname FROM tbl SELECT * FROM tbl WHERE x IN (@list) 많은 경우에 간략한 예와 함께 동적 SQL을 사용하세요 라는 답변이 달리곤 하지만, 답변하는 사람들조차 동적 SQL 문의 사용시에 주의해야 할 사항에 대한 언급을 잊는 경우가 많다. 이 기사에서는 MS SQL Server의 저장 프로시저에서 동적 SQL의 사용에..

WorkaHolic/MSSQL 2010.04.08
반응형