본문 바로가기

SQL

SQL 쿼리 실행 시간 체크 MS SQL 쿼리 실행 시간 체크... SET STATISTICS TIME ON 참조~ : http://technet.microsoft.com/ko-kr/library/ms190287(v=sql.90).aspx 위 코드를 넣고 Query를 작성하면... Query를 실행한 시간에 대한 결과치를 보여줌.... SQL Server 실행 시간: CPU 시간 = 0밀리초, 경과 시간 = 26밀리초 더보기
다른 테이블을 이용한 데이터 삽입 및 삭제 간단한 코드지만... 헷갈릴때가 많이 있다...까먹어서 한참을 헤매일때도... ^^ /*TB_REF 테이블의 REF_COLUMN 컬럼 데이터와 동일한 TB_TARGET 테이블의 TARGET_COLUMN 컬름이 있으면 해당 레코드 삭제...*/ DELETE [dbo].[TB_TARGET]WHERE TARGET_COLUMN IN (SELECT REF_COLUMN FROM [dbo].[TB_REF] WITH(NOLOCK)) /*TB_REF 테이블의 모든 값을 TB_TARGET 테이블에 동일 데이터 삽입 후 ADDFIELD 값을 'Y'로 하여 INSERT*/ INSERT INTO [dbo].[TB_TARGET]SELECT REF.*, ADDFIELD='Y'FROM [dbo].[TB_REF] AS REF WITH.. 더보기
SQL에서 문자위치 찾기 컬럼 데이터중... 파일 Path같이 디렉토리 구조라던가 특정 구분자로 나눠져있는 문자열에 대해~ 구분자 끝의 문자열을 잘라오고자 한다면... REVERSE([string]) : 문자열 뒤집기 ex) reverse('012/345/678/9') --> '9/876/543/210' CHARINDEX([string], [string]) : 문자 위치 찾기 ex) charindex('/', '012/345/678/9') --> 4 SUBSTRING ([string], [intA], [intB]) : 문자의 특정위치 문자 추출 ( [intA]번째 문자부터 [intB]개의 문자만큼 ) ex) substring('012/345/678/9', 4, 5 ) --> '/345/' LEN([string]) : 문자수 ex.. 더보기
SQL PROCEDURE에서 루프돌려 처리 참조코드 ### 참조코드... -- 루프를 돌리기위한 기준 DECLARE DocNo CURSOR FOR SELECT IDX FROM TB_WD2_FMIT001_BUYINFOBYSTATUS WITH (NOLOCK) WHERE EXTENDPROCESS = '' AND SEQNO = '' Order by IDX DECLARE @docno INT -- 루프를 돌려 처리~~ OPEN DocNo FETCH DocNo INTO @docno WHILE (@@FETCH_STATUS = 0) BEGIN -- 뺑뺑이 돌리는 코드(시작) -- SeqNo 다음 번호 계산 SET @iSeqNo = @iSeqNo + 1 -- 3자리수로 처리 SET @vSeqNo = '000' + CONVERT( VARCHAR(10), @iSeqNo) SE.. 더보기
SQL 데이터 삭제 관련 기본적인 데이터 삭제... DELETE FROM table_name WHERE column_name = 'xx' 만약 테이블에 IDENTITY가 정의되어 있는 상태에서 이 IDENTITY 값을 초기화 하려면?? 보통적으로 TRUNCATE TABLE table_name 으로 초기화를 하는데.... 몇개의 테이블에 Relation이 걸려 있다면... [한글 기준] "FOREIGN KEY 제약 조건에 의해 참조되므로 자를 수 없습니다." 라는 오류 메시지가 발생한다... 이런 경우 IDENTITY 값을 초기화 하려면.... DELETE FROM table1_name DELETE FROM table2_name DBCC CHECKIDENT('table1_name', RESEED, 0 ) 위와 같이 하면 table.. 더보기
CONVRT 문에 대해... [펌] 수식의 자료형을 변화시킨다. - CONVERT(datatype[(length)], expression[,style]) - 수식이 허용되는 어느 곳에서도 사용 될 수 있다. SELECT CONVERT (char(38), title)+"의 가격은" + CONVERT (varchar(10), price) +"달라 입니다." FROM titles 흠... 다음으로 날짜를... 스타일에 따라 다양하게 보여줍니다. Without century (yy) With century (yyyy) Standard Input/Output** - 0 or 100 (*) Default mon dd yyyy hh:miAM (or PM) 1 101 USA mm/dd/yy 2 102 ANSI yy.mm.dd 3 103 Briti.. 더보기