본문 바로가기

프로그래밍/TSQL60

[TSQL] CTR? 닷넷기술을 적용해서 tsql의 확장성과 성능을 확올린 좋은 기술입니다. SQL#이라는 라이브러리가 있는데 참고해서 사용해보시면 좋겠어요 Common Language runtime(CLR) 이란? : 닷넷 환경하에 공용 언어를 런타임으로 실행 시키는 기술 MSSQL 내 CLR 활성화 sp_configure 'clr enabled', 1 GO RECONFIGURE GO https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql/introduction-to-sql-server-clr-integration 활용 1. 정규 표현식을 활용한 문자열 매칭, 갱신 연산 고도화 (EX. TEMP 테이블에 DASH 컬럼의 문자열에 DASH(-)와 숫자 이외의 문자.. 2019. 10. 21.
[TSQL] DB 내 스크립트 검색 TSQL 개발을 하다 보면 매우 많이 사용하게 되는 쿼리 SELECT DISTINCT A.NAME,A.TYPE FROM SYSOBJECTS A JOIN SYSCOMMENTS B ON A.ID = B.ID WHERE B.TEXT LIKE '%찾을 문자열%' 해당 인스턴스에서 특정 테이블을 쓰고 있는 SP나 트리거를 찾거나, 테이블명을 조회 할때, 눈감고 손이 스르륵 움직이면서 쓰게 되는 쿼리 입니다. SELECT TOP 100 * FROM '테이블명' -> CTRL+1 단축키 지정 처러 쓸 려면 MASTER에 SP로 만들어서 사용하시면 될듯합니다. 저는 그냥 치는게 익숙해져서 걍 침니다 2019. 10. 21.
[TSQL] 테이블 존재 유무 확인하기 #1. SYS.OBJECTS 확인 IF EXISTS (SELECT NAME FROM SYS.OBJECTS WHERE TYPE = 'U' AND NAME = '테이블명') DROP TABLE 테이블명 #2. INFORMATION_SCHEMA.tables 확인 SELECT * FROM INFORMATION_SCHEMA.tables WHERE TABLE_SCHEMA = 'dbo' AND TABLE_NAME = '테이블명' 임시 테이블의 경우 #1. tempdb 확인 IF OBJECT_ID('tempdb..테이블명') IS NOT NULL DROP TABLE 테이블명 2019. 10. 21.
TSQL 한글 발라내기 최적화 개발 내용 1.cte 를 활용한 문자열분리(while 반복없이)2.아스키, 유니코드, 바이트기준 한글판단 활용 쿼리 ;WITH EACH(N, STR,CODE,UNICODE) AS ( SELECT 1, SUBSTRING(@STR, 1, 1),ASCII(SUBSTRING(@STR, 1, 1)),CONVERT(BINARY(2),UNICODE(CONVERT(NVARCHAR(2),SUBSTRING(@STR, 1, 1))))--,CONVERT(BINARY(2),SUBSTRING(@STR, 1, 1))--UNICODE(SUBSTRING(@STR, 1, 1)) UNION ALL SELECT N + 1, SUBSTRING(@STR, N+1, 1), ASCII(SUBSTRING(@STR, N+1, 1)),CONVERT(B.. 2019. 10. 14.