일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Random
- Validations
- 업캐스팅
- Login with OAuth Authentication
- 다형성
- 스프링
- 페이징
- jquery
- 형변환
- Full text
- 전자정부
- 자바 야구게임
- 가변인자
- 전체
- while
- 상속
- 이클립스
- 25가지 효율적인 sql작성법
- 자바
- 야구게임
- 추상클래스
- 단축키
- 로또
- 상속예제
- full text indexing
- 전체텍스트
- 다운캐스팅
- IBatis procedure
- angular2
- Today
- Total
목록분류 전체보기 (448)
nalaolla
출처 : MSDN - SQL Server Management Studio 바로 가기 키SQL Server Management Studio에는 두 개의 키보드 구성표가 있습니다. 기본적으로 Microsoft Visual Studio에 기반을 두는 바로 가기 키가 포함된 표준 구성표가 사용됩니다. SQL Server 2000이라고 부르는 또 다른 구성표는 SQL Server 2000의 도구와 매우 비슷하며 특히 쿼리 분석기의 바로 가기 키와 유사합니다. 경우에 따라서 SQL Server Management Studio는 쿼리 분석기의 바로 가기 키를 제공할 수 없습니다. 키보드 구성표를 변경하거나 다른 바로 가기 키를 추가하려면 도구 메뉴에서 옵션을 클릭합니다. 환경, 키보드 페이지에서 원하는 키보드 구성표..
8. GROUP BY, COMPUTE BY, ROLLUP, CUBE를 이용한 요약 데이터 작성 이번에 소개해 드릴 내용은 요약 데이터를 작성하자 라는 의미 입니다.먼저 이곳을 보시기 전에 설명 드린 함수의Aggregate 함수 부분을 찬찬히 다시 함 봐 보시길 바랍니다.이를 보통 계산 함수라 부르는데요...이 계산함수와 group by가 함께 사용이 된답니다.먼저 간단한 쿼리를 살펴 보도록 하지요. 코난이를 책회사의 사장이라고 생각해 보세요... ^_^책회사가 생긴지는 어언 1년이 다 되어 갑니다.....그동안 만든 책도 많았습니다....요리책.., 컴퓨터 책...., 비즈니스에 대한 책...... , 정신세계에 대한책....흐흐흐.... 근데.. 최근들어 의문이 생긴 겁니다....도대체 내가 어떤책을 ..
[MS-SQL] ROLLUP 과 CUBE 의 차이 USE TEMPDBIF EXISTS (SELECT * FROM SYSOBJECTS O WHERE O.NAME LIKE '#T_INCOME%') BEGIN DROP TABLE #T_INCOME END ELSE BEGIN CREATE TABLE #T_INCOME( INC_JISA CHAR(4) NOT NULL , INC_JIJUM CHAR(4) NOT NULL , INC_CENTER CHAR(5) NOT NULL , INC_DATE CHAR(8) NOT NULL , INC_AMT INT CONSTRAINT PK_INCOME PRIMARY KEY(INC_JISA , INC_JIJUM , INC_CENTER , INC_DATE)) INSERT INTO #T_IN..
ROLLUP과 CUBE는 함수로써 GROUP BY 절에 사용되어 추가적인 그룹핑 정보를 표현할 수 있다. ROLLUP: 그룹핑된 결과에 그룹별 합계 정보를 추가한다. CUBE: 그룹핑 된 컬럼의 모든 가능한 조합에 대한 합계 정보를 추가한다. 사용예: GROUP BY ROLLUP(column1, column2, ... column9) GROUP BY CUBE(column1, column2, ... column9)
-- 일단위SELECT DATEPART(dd, order_dt), count(order_no) FROM 주문테이블GROUP BY DATEPART(dd, order_dt)ORDER BY DATEPART(dd, order_dt) -- 주 단위SELECT DATEPART(ww, order_dt), count(order_no) FROM 주문테이블GROUP BY DATEPART(ww, order_dt)ORDER BY DATEPART(ww, order_dt) -- 월단위SELECT DATEPART(mm, order_dt), count(order_no) FROM 주문테이블GROUP BY DATEPART(mm, order_dt)ORDER BY DATEPART(mm, order_dt) -- 년단위SELECT DATEPA..
필요한 column만 명시한다. SELECT * 을 사용하는 것은 피한다. 사용하지 않는 데이터를 호출하는 것만으로도 이미 많은 부하가 생긴다. 특히 text 타입의 데이터를 호출하는 경우는 그 정도가 심해진다. data type의 byte가 적은 컬럼을 주로 사용하는 것이 좋다. COUNT(*)을 사용하라. COUNT(특정column) 으로 호출하는 경우가 있다. 이 경우 해당 컬럼의 NULL값을 제외한 COUNT를 가져오게 된다. NULL값을 일일이 체크하면 호출 속도가 저하되게 된다. NULL을 체크해야 하는 경우가 아닌 대부분의 경우 COUNT(*)을 체크한다. COUNT(*)는 NULL값의 경우도 모두 count에 추가하지만 그로 인해 성능의 저하가 많이 줄어든다. List 호출이 아닌 1 ro..
(T-SQL) 서버 측 동적 쿼리에서의 탈출 요약.수년 전부터 MS 플랫폼에서 SQL Server를 연동한 프로젝트 수행 시 개발 방법론의 중요한 한 축으로 저장 프로시저의 적극적인 활용이 일반화되고 있다. 그로 인한 부작용 중에 하나는 이전에 응용 프로그램 아키텍처 상의 프레젠테이션 계층 혹은 비즈니스 서비스 계층에서 문자열 데이터로 동적으로 구성하던 쿼리가 저장 프로시저를 통해서 서버 측에서 구성이 된다는 것이다. “서버 측 동적 쿼리”(이하 동적 쿼리로 표기)라고 표현하는 이러한 동적 T-SQL 또는 일괄처리는 성능상의 문제를 내포함과 동시에, 개발 생산성과 관리 및 유지 보수의 용이성 측면에서 많은 고려 사항을 포함하고 있다. 그럼에도 아직 많은 개발자들이 막연히 문제 해결 중심적인 사고로 동적 ..
통계나 정산 쿼리를 짜다보면 날짜별 정산 내역을 조회할 경우가 있는데 중간에 비는 날짜가 생기는 경우 해당 날짜의 ROW가 없는 경우가 있는데 이럴때 'Connect By'를 이용해 날짜 레코드를 만들어서 OUTER JOIN을 걸어 사용하면 좋다. 날짜 레코드 만들기 SELECT TO_CHAR(TO_DATE('{시작일자}', 'YYYYMMDD')+LEVEL-1, 'YYYY-MM-DD') FROM DUALCONNECT BY LEVEL
문자열을 IN 쿼리로 변경하기 프로시저나 쿼리를 만들경우 가끔 입력 데이터가 ','로 구분되어진 문자열 데이터를 이용해 조회를 해야하는 경우가 발생한다. WHERE COL IN ( SELECT TRIM( SUBSTR( ','||문자열데이터||',', INSTR(','||문자열데이터||',', ',', 1, LEVEL)+1, (INSTR(','||문자열데이터||',', ',', 1, LEVEL+1) - INSTR(','||문자열데이터||',', ',', 1, LEVEL))-1 ) ) FROM DUAL CONNECT BY LEVEL
CREATE OR REPLACE PROCEDURE 프로시저이름 ( 입력파라미터1 IN 파라미터타입, -- 파라미터 종류 (오라클 컬럼 타입 참고, CHAR, VARCHAR2, NUMBER ... 등) 입력파라미터2 IN 파라미터타입, ... 출력파라미터1 OUT 파라미터타입, 출력파라미터2 OUT 파라미터타입, ...) IS -- FOR LOOP 1. 커서를 이용한 방법 CURSOR 커서변수 IS SELECT TNAME, TABTYPE FROM TAB; BEGIN -- FOR LOOP 1. 커서를 이용한 방법 FOR 반복변수 IN 커서변수 LOOP -- 커서변수에 담긴 냉요을 반복변수에 담에 LOOP 돌리면서 처리 DBMS_OUTPUT.PUT_LINE(반복변수.컬럼명); END LOOP; -- FOR L..