컴퓨터/프로그래밍2013. 12. 18. 18:06

MARS (Multiple Active Result Sets)

 

링크> http://msdn.microsoft.com/en-us/library/ms131686.aspx

 

참고1> SQL Server Native Client 10.0 OLE DB Provider connection strings
http://www.connectionstrings.com/sql-server-native-client-10-0-oledb-provider/

 

참고2> SQLNCLI10 OLEDB : Enable MARS
http://www.connectionstrings.com/sql-server-native-client-10-0-oledb-provider/enable-mars/

 

Posted by jungtae17
컴퓨터/프로그래밍2012. 3. 3. 22:00


ROW_NUMBER() OVER ( [PARTITION BY A1 [, A2, ...] ] ORDER BY { B1 [DESC] [, B2 [DESC], ...] } )
RANK()              OVER ( [PARTITION BY A1 [, A2, ...] ] ORDER BY { B1 [DESC] [, B2 [DESC], ...] } )
DENSE_RANK()  OVER ( [PARTITION BY A1 [, A2, ...] ] ORDER BY { B1 [DESC] [, B2 [DESC], ...] } )

ROW_NUMBER() 함수 사용 예>
SELECT ROW_NUMBER() OVER (ORDER BY Score DESC) AS Rank, Name, Score FROM TBL_USER


RANK() 함수 사용 예>
SELECT RANK() OVER (ORDER BY Score DESC) AS Rank, Name, Score FROM TBL_USER


DENSE_RANK() 함수 사용 예>
SELECT DENSE_RANK() OVER (ORDER BY Score DESC) AS Rank, Name, Score FROM TBL_USER


Posted by jungtae17
컴퓨터/프로그래밍2011. 7. 28. 18:17


SELECT DISTINCT OBJECT_NAME(id) FROM sys.syscomments WHERE text LIKE '%검색어%'

sys.syscomments (시스템 뷰)
 : DB 내의 모든 뷰, 규칙, 기본값, 트리거, CHECK 제약 조건, DEFAULT 제약 조건 및 저장 프로시저 내용(코드)을 포함.

참고> http://msdn.microsoft.com/ko-kr/library/ms186293.aspx
Posted by jungtae17
컴퓨터/프로그래밍2011. 7. 1. 18:05

// TIMESTAMP 변수 선언 & 초기화
TIMESTAMP_STRUCT tmTime;

tmTime.year     = 2011;
tmTime.month    = 7;
tmTime.day      = 1;
tmTime.hour     = 12;
tmTime.minute   = 10;
tmTime.second   = 30;
tmTime.fraction = 0;            // 주의!> 무조건 0 으로 설정한다.

SQLLEN nParamLen = 0;

// 매개변수 바인딩
SQLBindParameter(
    hSTMT,                      // 명령 핸들
    1,                          // 매개변수 번호
    SQL_PARAM_INPUT,            // INPUT / OUTPUT / INPUT_OUTPUT
    SQL_C_TYPE_TIMESTAMP,       // [고정] 값 타입(C 타입 ID)
    SQL_TYPE_TIMESTAMP,         // [고정] 파라미터 타입(SQL 타입 ID)
    SQL_TIMESTAMP_LEN,          // [고정] 파라미터 크기(기본값: 19, 'yyyy-mm-dd hh:mm:ss')
    3,                          // [고정] 시간 데이터 중 밀리초의 자리수
    &tmTime,                    // 파라미터에 연결될 변수 포인터
    sizeof(TIMESTAMP_STRUCT),   // [고정] 파라미터에 연결될 변수의 크기
    &nParamLen                  // 반환값(길이, 상태)이 저장될 변수 포인터
);


TIMESTAMP_STRUCT 구조체의 fraction 값이 0이 아닐 경우 ODBC 오류가 발생한다.

오류 메시지 [22008]: [Microsoft][ODBC SQL Server Driver] 날짜/시간 필드 오버플로

참고 1> http://www.tech-archive.net/Archive/SQL-Server/microsoft.public.sqlserver.odbc/2006-08/msg00069.html
참고 2> http://msdn.microsoft.com/ko-kr/library/bb677267(v=SQL.100).aspx

Posted by jungtae17
컴퓨터/프로그래밍2011. 4. 6. 22:16
데이터베이스에서 인덱스를 사용하느냐, 안하느냐에 따라 DB 쿼리 속도가 다르고 어떤 인덱스를 사용하느냐에 따라 또 달라진다.

왜 이런 차이가 발생할까 라는 궁금함과 효율적인 쿼리를 만들기 위해서 간단히 정리 해본다.


 
그리고 조건절(Where 절)에 따라 다르겠지만 어떤 인덱스를 설정하고 사용하는 것이 좋을지 간단히 비교 해본다.


모든 DBMS 가 이런 것은 아니라고 하지만 익히 알고 있는 Oracle, MS-SQL 등 대부분의 DBMS 가 이렇게 처리하고 있다고 한다.

Posted by jungtae17
컴퓨터/프로그래밍2011. 4. 1. 15:19


ALTER TABLE {테이블명}
    ADD {열이름} {데이터형} [[NOT] NULL] [CONSTRAINT {제약이름} DEFAULT (기본값)]
    DROP COLUMN {열이름}
    ALTER COLUMN {열이름} {데이터형} [[NOT] NULL] [CONSTRAINT {제약이름} DEFAULT (기본값)]

참고> http://msdn.microsoft.com/ko-kr/library/ms190273.aspx

EXEC sp_rename '테이블명.열이름', '새로운 열이름', 'COLUMN'

참고> http://msdn.microsoft.com/ko-kr/library/ms188351.aspx
Posted by jungtae17