본문 바로가기

DB

자주쓰는 SQL Server 기능 모음

IDENTITY 값 초기화하기

 

사용법

DBCC CHECKIDENT([테이블명], reseed, [초기화 시킬 값])

 

예제

DBCC CHECKIDENT(tbl_test, reseed, 0)

 

 

 

테이블에 엑셀 데이터 입력하기

 

 

데이터베이스 우클릭 > 태스크 > 데이터 가져오기 

파일은 무조건 xlsx 파일이어야한다. csv 파일은 안 된다.

대상 란에 마지막에 $ 표시가 있으면 테이블이름$으로 테이블이 새로 생성된다. 기존에 있는 테이블에 데이터를 넣고 싶으면 더블클릭해서 기존 테이블을 선택해야한다. 

기존 테이블을 선택하면 맨 뒤의 $가 사라진다. 

매핑편집(E) 버튼을 눌러서 데이터 타입이 맞는지 확인한다. 테이블에 넣기 원하지 않는 값은 무시를 선택할 수도 있다. 

Next, Fish 누르면 데이터가 옮겨진다.

만약 실패하는 경우, 테이블 컬럼 정의와 데이터가 일치하지 않아서 그렇다. 

NOTNULL 컬럼인데 데이터가 없는 경우 에러가 난다. 

 

 

rand 함수

CAST ((최대값 - 최소값 + 1) * RAND () + 최소값 AS INT)

select 문에서 위 쿼리를 쓰면 모든 행이 같은 값이 나온다.

각 행마다 다른 랜덤값을 가져오고 싶으면 RAND함수 안에 CONVERT(VARBINARY, NEWID())를 추가한다.

CAST ((최대값 - 최소값 + 1) * RAND (CONVERT(VARBINARY, NEWID())) + 최소값 AS INT)

 

 

 

ID 열에 명시적 값 삽입

 

기본키는 자동으로 값을 넣어주게 되어있는데, 특정 값을 사용자가 입력하고 싶으면 설정을 바꿔줘야한다.

 
SET IDENTITY_INSERT {TableName} ON // 기본키 값 삽입 허용 

데이터삽입 쿼리 실행

SET IDENTITY_INSERT {TableName} OFF //원상복구

 

데이터 삽입 쿼리에는 컬럼값을 명시적으로 지정해주어야한다. values 만 있으면 에러난다.

데이터 입력하고 나서 꼭 원상복구 시켜주는 것이 좋다. SQL Server에서 자동으로 키 값을 넣어주는편이 안전하다.

 

'DB' 카테고리의 다른 글

C#에서 마리아 db 프로시저 사용하기  (0) 2025.02.23
Java Script Mongoose 비동기 처리  (0) 2023.12.29
sql join  (1) 2023.09.15
aws 리눅스 마리아 db 설치  (1) 2023.09.11
mysql, heroku, c# 연동  (1) 2023.09.04