본문 바로가기

Database/MS SQL

(69)
728x90
반응형

MS SQL。이전/다음 행 데이터 접근(LAG, LEAD) 1. LAG 이전 행의 데이터 접근 LAG(scalar_expression [, offset] [, default]) OVER ([partition_by_clause] order_by_clause) 2. LEAD 다음 행의 데이터 접근 LEAD(scalar_expression [,offset] [,default]) OVER ([partition_by_clause] order_by_clause) # offset (기본값 : 1, 생략가능) 현재 기준으로 앞/뒤에 있는 행 수 # default (기본값 : NULL, 생략가능) offset의 scalar_expression이 NULL일 경우 반환할 값
MS SQL。프로시저(Procedure) 쿼리문을 메서드 형식으로 관리하며 필요 시 호출해서 사용 CREATE PROCEDURE [프로시저명] ( [변수] ) AS SET NOCOUNT ON BEGIN [쿼리] RETURN END # 삭제(DROP) DROP PROCEDURE [프로시저명] # 조회 1. [프로시저명] [변수1 값], ..., [변수n 값] 2. [프로시저명] [변수1] = [값],[변수2] = [값],...,[변수n] = [값] # 프로시저 조회 1. 단일 sp_helptext [프로시저명] 2. 전체 SELECT * FROM INFORMATION_SCHEMA.ROUTINES
MS SQL。뷰(View) 다른 테이블로부터 유도된 이름을 가진 가상 테이블(Virtual Table), 기본 테이블(Base Table)은 물리적으로 구현되어 데이터가 실제로 저장되지만 뷰는 뷰의 정의(Definition)만 시스템 내에 저장하여 필요시 실행 시간에 테이블 구축 # 생성 일반적으로 뷰는 변경(삽입, 삭제, 갱신)을 할 수 없는 뷰와 이론적으로 변경이 가능한 뷰, 그리고 실제로 변경이 가능한 뷰로 구분 변경이 가능한 뷰는 기본적으로 어느 한 기본 테이블의 행과 열의 부분 집합으로만 정의되어야 하며 변경이 허용되지 않는 뷰는 다음과 같음 1) 뷰의 열이 상수나 산술 연산자 또는 함수가 사용된 산술 식으로 만들어지면 변경이 허용되지 않음 2) 집계 함수(COUNT, SUM, AVG, MAX, MIN)가 관련되어 정의된..
MS SQL。문자열에서 문자, 숫자 위치 반환 및 추출(PATINDEX) 패턴에 대한 시작 위치 반환 PATINDEX([정규식], [데이터])
MS SQL。정규식 1. 영문 # 소문자 [a-z] # 대문자 [A-Z] '%[a-zA-Z]%' 2. 한글 [가-힣] 3. 숫자 [0-9] NAME에 특수문자가 있는 행 조회 더보기 docs.microsoft.com/ko-kr/sql/ssms/scripting/search-text-with-regular-expressions?view=sql-server-ver15 정규식을 사용한 텍스트 검색 - SQL Server Management Studio (SSMS) 찾기 및 바꾸기 대화 상자의 "찾을 내용" 필드에서 정규식을 사용하여 일치시킬 패턴을 지정하는 방법을 알아봅니다. docs.microsoft.com
MS SQL。트랜잭션(Transaction) Transaction문 내에서 데이터 처리 완료 시 커밋(COMMIT)되고, 오류가 발생하면 해당 문 내에서 실행된 모든 처리 내용은 실행 전 상태로 상태로 돌아감(ROLLBACK) BEGIN [TRAN | TRANSACTION] [쿼리] COMMIT [TRAN | TRANSACTION] # TRY - CATCH문 사용한 Transaction BEGIN TRY BEGIN TRAN [쿼리] COMMIT END TRY BEGIN CATCH ROLLBACK END CATCH 오류 발생 시 ROLLBACK 처리
MS SQL。TRY - CATCH TRY 블록에서 실행 중 오류 발생 시 CATCH 블록에서 오류 처리 BEGIN TRY [쿼리] END TRY BEGIN CATCH [오류 발생 시 쿼리] END CATCH # ERROR_SEVERITY() 심각도 반환 # ERROR_NUMBER() 오류 번호 반환 # ERROR_STATE() 오류 상태 번호 반환 # ERROR_PROCEDURE() 오류가 발생한 저장 프로시저 또는 트리거의 이름 반환 # ERROR_LINE() 오류를 일으킨 루틴 내부의 행 번호 리턴 # ERROR_MESSAGE() 오류 메세지의 전체 텍스트 반환
MS SQL。MERGE MERGE INTO [테이블명] USING [쿼리] ON [조건] WHEN MACHED THEN [데이터가 존재 하는 경우 쿼리] WHEN NOT MATCHED THEN [데이터가 존재 하지 않는 경우 쿼리]
728x90
반응형