본문 바로가기

SQL5

SSMS "인덱스가 배열 범위를 벗어났습니다." 위의 사진처럼 SSMS에서 데이터베이스를 연결하자마자 에러가 발생하는 현상이 있다. 이 경우는 SSMS 버전 보다 SQL Server 버전이 높을 경우 발생하는 에러이다. SSMS 는 10.0.4000.0 버전이고, 이 버전은 SQL Server 2008 설치할 때, 같이 설치됬던 버전이다. 연결 된 서버 버전은 SQL Server 2019 버전이며, 버전 정보는 공식 홈페이지를 확인하면 된다. https://support.microsoft.com/en-us/topic/kb4518398-sql-server-2019-build-versions-782ed548-1cd8-b5c3-a566-8b4f9e20293a KB4518398 - SQL Server 2019 build versions Table of con.. 2022. 2. 9.
저장 프로시저 인덱싱 분리 및 실행 계획 분리 저장 프로시저는 실행 계획을 캐시하고, 재사용한다. 보통 저장 프로시저를 간단하게 쓰는 경우도 많지만, 예를들어 게시판에서 고급검색 같은 기능을 추가하려면, 인덱스 설정을 잘해야하고, 검색 마다 실행 계획도 바뀔수도 있다. 그 때는 과연 어떻게 해야할까하는 내용을 포스팅해봅니다. 실행 계획은 문자열이 같은 내용끼리 같은 실행 계획을 씁니다. 예를 들면, 1번: SELECT * FROM 테이블 WHERE ID = @ID AND CONTENTS = @CONTENTS 이런 쿼리가 있다고 치면 2번: select * from 테이블 where id = @id and contents = @contents 위와 아래는 같은 결과를 가져오지만, SQL 실행 계획으로는 따로 구분이 된다. 즉, 인덱스도 다르게 설정이 .. 2022. 1. 25.
SQL Insert 전 중복 체크 저장 프로시저 아래와 같이 테이블이 있다고 가정한다. ID PK varchar(30) Title nvarchar(250) Contents nvarchar(max) CreatedDate datetime IsDeleted bit GO -- ============================================= -- Author: -- Create date: -- Description: -- ============================================= CREATE PROCEDURE [up_Insert_Test] @ID varchar(30), @TITLE nvarchar(250), @CONTENTS nvarchar(max), @ISDELETED bit AS BEGIN -- SET NOCOUNT.. 2022. 1. 15.
SQL Convert Convert 구문은 아래와 같습니다. CONVERT ( 데이터 타입(길이) , 변형할 값 ) CONVERT ( 데이터 타입(길이) , 변형할 값 , 스타일 ) 스타일 datetime, smalldatetime,datetimeoffset 스타일은 아래의 스타일 포멧을 사용합니다. 스타일 포멧 스타일 포멧 1 mm/dd/yy 101 mm/dd/yyyy 2 yy.mm.dd 102 yyyy.mm.dd 3 dd/mm/yy 103 dd/mm/yyyy 4 dd.mm.yy 104 dd.mm.yyyy 5 dd-mm-yy 105 dd-mm-yyyy 6 dd mon yy 106 dd mon yyyy 7 Mon dd, yy 107 Mon dd, yyyy 8 hh:mi:ss 108 hh:mi:ss 9 mon dd yyyy h.. 2022. 1. 12.
반응형