본문 바로가기

MSSQL5

다수의 테이블에 컬럼 추가하기 (존재 여부 검사) 시스템 테이블(sys.tables)을 통해 다수의 테이블을 필터링하고, 임시 테이블 변수에 저장. 추가할 컬럼을 설정하고, 임시테이블 변수를 커서로 오픈하여 이터레이션하며 컬럼이 이미 존재하는지 여부 확인 후 추가. 컬럼을 단순 이름보다 타입, 길이, 널 허용 여부 등등을 임시 테이블 변수나 delimiter를 활용한 문자열 등으로 확장하여 개선할 수 있다. DECLARE @tblNames TABLE ( tbl_nm nvarchar(200) ); INSERT INTO @tblNames SELECT [name] FROM sys.tables WHERE [name] LIKE '%%'; SELECT * FROM @tblNames; DECLARE @name varchar(200), @col_1 varchar(20.. 2017. 11. 24.
정렬시 null 값을 후위로 배치하기. ORDER BY CASE WHEN {컬럼명} IS NULL THEN 1 ELSE 0 END, {컬럼명} ASC 만약 NULL 중에 특정 컬럼 값이 일치하면 다시 정렬 순서 중에 최 후위로 배치하고 싶다면, ORDER BY CASE WHEN {컬럼} IS NULL THEN CASE {다른컬럼} WHEN {특정값과 일치} THEN {1보다 높은 수} ELSE 1 END ELSE 0 END, {컬럼} ASC 2017. 2. 15.
동적 쿼리 및 정적 쿼리 (개요) 동적 쿼리 및 정적 쿼리 (개요)2008.04.20 00:15 | 튜닝 | Davidhttp://kr.blog.yahoo.com/fazio127/56 성능 향상을 위해서는 SQL 서버 측의 튜닝도 필요하지만 정작 쿼리를 날리는 클라이언트 및 다른 비지니스 Layer 등에서도 쿼리를 작성 시 유의해야 할 부분이 있는데 그 중에서도 개발자들이 동적쿼리를 많이 사용하고 있어 이 부분에 대한 가이드를 소개코자 합니다. 김정선 님께서 작성한 "서버 측 동적 쿼리에서의 탈출"내용을 바탕으로 요약해서 올리며 다음 Article에서 사례를 중심으로 알아 보도록 하겠습니다. Overview 수년 전부터 MS 플랫폼에서 SQL Server를 연동한 프로젝트 수행 시 개발 방법론의 중요한 한 축으로 저장 프로시저의 적극적인.. 2009. 9. 28.
서버 사이드 동적 쿼리 벗어나기 (T-SQL) 서버 측 동적 쿼리에서의 탈출 김정선 삼성 SDS 멀티캠퍼스 전임 강사 Microsoft SQL Server MVP 요약 수년 전부터 MS 플랫폼에서 SQL Server를 연동한 프로젝트 수행 시 개발 방법론의 중요한 한 축으로 저장 프로시저의 적극적인 활용이 일반화되고 있다. 그로 인한 부작용 중에 하나는 이전에 응용 프로그램 아키텍처 상의 프레젠테이션 계층 혹은 비즈니스 서비스 계층에서 문자열 데이터로 동적으로 구성하던 쿼리가 저장 프로시저를 통해서 서버 측에서 구성이 된다는 것이다. “서버 측 동적 쿼리”(이하 동적 쿼리로 표기)라고 표현하는 이러한 동적 T-SQL 또는 일괄처리는 성능상의 문제를 내포함과 동시에, 개발 생산성과 관리 및 유지 보수의 용이성 측면에서 많은 고려 사항을 .. 2009. 8. 7.