그녀의 노트 150

MSSQL 숫자관련함수

ABS ABS함수는 절대값을 나타낸다. 형식: ABS(숫자값) POWER POWER함수는 제곱근을 표현해 준다. 형식: POWER(숫자값, 승수값) SQRT SQRT는 루트값을 표현해준다. 형식: SQRT(숫자값) RAND RAND는 0 에서 1사이의 난수를 발생시킨다. 형식: RAND(초기값) ROUND ROUND는 반올림 함수이다. 형식: ROUND(숫자, 자릿수) CEILING, FLOOR CEILING은 소수점 첫번째 값을 기준으로 올림을 하고 FLOOR는 소수점 첫번째 값을 기준으로 내림을 한다. 형식: CEILING(숫자) ... FLOOR도 동일 CEILING과 FLOOR는 소수 첫번째값이 5 이상이든 이하든간에 무조건 올림, 내림을 수행한다.

Note/DB 2011.09.20

asp 에서 MSSQL 페이징처리

페이징처리는 참.. 귀찮다 -_- 하지만 페이징 처리는 꼭 해봐야 하는 작업이고 꼭 할줄 알아야 하는 작업이다. 대부분의 DB에서 ROW NUMBER 를 알수있는 내장함수를 지원하지만 MSSQL 2000 이하버전에서는 ROWNUMBER 를 알수 없으므로 다른 방법으로 접근해야한다. 물론 여러가지 방법이 있겠지만 본인이 사용해본 방법을 소개해본다. 페이징 처리에는 몇가지 정보가 필요하다. 리스트의 총 레코드갯수, 한페이지에 표시할 레코드 갯수(화면에 보여질 갯수) 총 페이지 갯수, 현재 페이지 번호(보여주어야 할 페이지). // 총 개수 - 리스트 쿼리 SQL = "SELECT count(*) as recordCount FROM HPA010T " SQL = SQL & " WHERE SEQ IS NOT NU..

Note/그밖에 2011.08.22

MSSQL 활성중인 트랜잭션, LOCK 조회 쿼리

/* 활성중인 트랜잭션 조회 */ DBCC OPENTRAN /* Lock TimeOut / default : -1(무제한) */ SELECT @@LOCK_TIMEOUT -- 이걸.. Lock이 걸려도 1800밀리초가 지나면 세션이 끊기도록 설정한다. SET LOCK_TIMEOUT 1800 -- (밀리초 이므로 3분) /* Lock 확인과 Lock 죽이기 (sa권한) */ EXEC sp_lock -- 프로시저 실행하여 mode가 x인 것 확인 dbcc inputbuffer(spid) -- mode가 x인 것의 spid를 입력하면 해당 테이블정보가 출력 kill spid -- 문제가 되는 spid를 kill 한다.

Note/DB 2011.07.26

MSSQL Server Version 확인쿼리

-- 서비스팩 확인 select SERVERPROPERTY('productlevel') -- 사용중인 SQL 빌드넘버와 서비스팩 확인 SELECT 'SQL Server ' + CAST(SERVERPROPERTY('productversion') AS VARCHAR) + ' - ' + CAST(SERVERPROPERTY('productlevel') AS VARCHAR) + ' (' + CAST(SERVERPROPERTY('edition') AS VARCHAR) + ')' -- 사용중인 SQL종류와 빌드넘버 select @@version -- 아래의 두개는 똑같은 결과를 보여준다. EXEC sp_server_info EXEC master..xp_msver 위의 쿼리문중 마음에 드는거 실행하면 된다. (모두 결..

Note/DB 2011.07.26

CSS 속성

/**********************CSS에서 폼입력 제한**********************/ {ime-mode:auto; }기본자동변경 -한/영전환가능 {ime-mode:active; } 기본한글 - 한/영전환가능 {ime-mode:inactive; } 기본영문 - 오직영문 {ime-mode:disabled; }기본영문 - 영문/숫자만입력가능 한/영전환불가능 {ime-mode:deactivated; } 기본자동변경 - 한영전환가능 /**********************FONT(글꼴) **********************/ font font 글꼴에 관련된 속성을 설정 font-family fontFamily 글꼴이름을 설정 font-size fontSize 글자 크기를 설정 font-s..

Note/그밖에 2011.07.21

Oracle Index

인덱스란? 테이블이나 클러스트에서 쓰여지는 선택적인 객체로서, 테이블 내의 원하는 레코드를 빠르게 차아갈 수 있도록 만들어진 데이터 구조 찾으려는 데이터를 찾아보기 쉽게 한다는 의미에서 보통 인덱스를 설명할 때는 책 뒷장의 '색인'에 비유를 많이 한다. 테이블의 값을 빠르게 액세스 하도록 하는 데이터 베이스 객체로써 SQL 구문 실행에 있어 성능(속도)향상을 기대할 수 있다. 그러나 잘못된 인덱스는 오히려 성능저하의 원인이 되므로 인덱스를 생성할 때는 신중히 하도록 하자. 자동 인덱스 : Primary Key 또는 Unique 제한 규칙에 의해 자동적으로 생성되는 인덱스 수동 인덱스 : CREATE INDEX 명령을 실행해서 만드는 인덱스 Index 를 생성하는 것이 좋은 컬럼 1.where 절이나 jo..

Note/DB 2011.07.20

Database기초 : DDL, DML, DCL 초심으로 돌아가자!

분명히 아는건데........아는건데....... 설명하기 힘든 그런거??? 초심을 잊지말자! 기초부터 다시! DDL, DML, DCL 1. DDL(Data Definition Language) 데이터와 그 구조를 정의합니다. 1) CREATE : 데이터베이스 객체를 생성합니다. 2) DROP : 대이터베이스 객체를 삭제합니다. 3) ALTER : 기존에 존재하는 데이터베이스 객체를 다시 정의하는 역할을 합니다. 4) RENAME : 데이터베이스의 컬럼명을 변경합니다. 5) TRUNCATE : 테이블을 최초 생성된 초기상태로 만들며, ROLLBACK이 불가능합니다. 2. DML(Data Manipulation Language) 데이터의 검색, 수정, 삭제 등을 처리합니다. 1) INSERT : 데이터베이..

Note/DB 2011.07.11

DELETE 와 비슷하지만 다른 TRUNCATE

구문 : TRUNCATE TABLE Table_name; 해당테이블의 데이터를 모두 삭제한다. delete from Table_name ; 과 같은 기능이지만 자동증가 컬럼의 경우 그 값이 초기화 된다. create 했던 직후로 돌아간다는 의미이다. 아래는 ms 공식홈에서 가져옴. 개별 행 삭제를 로깅하지 않고 모든 행을 테이블에서 제거합니다. TRUNCATE TABLE은 기능상으로 WHERE 절이 없는 DELETE 문과 동일하지만 더 빠르고 시스템 및 트랜잭션 로그 리소스를 덜 사용합니다. DELETE 문과 비교하여 TRUNCATE TABLE에는 다음과 같은 이점이 있습니다. 트랜잭션 로그 공간을 덜 사용합니다. DELETE 문은 행을 한번에 하나씩 제거하고 삭제된 각 행에 대해 트랜잭션 로그에 항목을..

Note/DB 2011.07.11

mssql2005 DB상태변경

USE master go -- 응급상태로 전환 (ONLINE | OFFLINE | EMERGENCY) ALTER DATABASE db_name SET EMERGENCY GO -- 데이터베이스의 특성을 살펴봅니다. SELECT DATABASEPROPERTYEX( 'db_name','Status') SELECT name, state, state_desc FROM sys.databases -- 응급상태로 전환하게 되면 읽기전용으로 엑세스가 가능하게됨. dbcc checkdb('db_name') go SELECT * FROM sysdatabases use db_name select * from table_name -- 작업 후 다시 온라인상태로 전환 ALTER DATABASE db_name SET ONLINE GO

Note/DB 2011.07.11