MS-SQL은 기본 설정이 AUTO_COMMIT으로 되어있습니다. INSERT, UPDATE, DELETE 등 명령어를 사용할 때 COMMIT 명령어를 입력할 필요가 없습니다. 그렇기 때문에 UPDATE, DELETE 쿼리 수행 중 실수를 하게 된다면... 지옥을 경험할 수도 있습니다.. ㅠㅠ 예를 들어서 MEMBER라는 테이블이 있다고 가정하겠습니다. 멤버 테이블의 회원 삭제는 이력을 남기기 위해서 소프트 delete처리를 합니다. 이런일이 생기면 안되겠지만, 쿼리를 사용하여 회원을 삭제한다고 가정하겠습니다. UPDATE MEMBER SET DELETED = 1 WHERE MEMBER_SEQ = 1; 위와 같이 정상적으로 작성하면 좋겠지만, 우리는 사람이라 가끔 실수를 하곤 합니다. UPDATE MEM..
update query를 사용할 때, set절에 multi row가 입력되어야 하는 경우가 있습니다. update 대상 테이블 set 업데이트할 칼럼 = 업데이트 값 from 테이블 where 조건 ex) update MEMBER set MOD_DATE = a.REG_DATE from ( select MEMBER_SEQ, REG_DATE from MEMBER_HISTORY where MEMBER_SEQ IN(1,2,3)) a where MEMBER.MEMBER_SEQ = a.MEMBER_SEQ; oracle multiple row update https://055055.tistory.com/55 [ORACLE] multiple row update update query를 사용할 때, set절에 multi..
한 서버에서, A라는 데이터베이스에서 B라는 데이터베이스로 데이터를 옮겨야 하는 경우가 있습니다. 1. 테이블과 데이터 모두를 복사하는 쿼리 입니다. select * into 생성할 테이블 from 데이터베이스.스키마.원본테이블; 2. 테이블은 이미 생성되어있고, 데이터만 옮길 때 쿼리 입니다. SET IDENTITY_INSERT 데이터베이스.스키마.생성할테이블 ON INSERT Into 데이터베이스.스키마.생성할테이블 (컬럼1, 컬럼2) select 컬럼1, 컬럼2 from 데이터베이스.스키마.원본테이블; SET IDENTITY_INSERT 데이터베이스.스키마.생성할테이블 OFF * 옵션: SET IDENTITY_INSERT 테이블 ON / OFF : 자동증가값(sequence)를 설정한 컬럼에는 in..
업무를 보다가, 뭐가 잘 안된다는 연락을 받고 확인을 해봤습니다. ADDRESS 테이블에서 province로 groupby를 한 결과 입니다. 아래 쿼리와 같이 province로 group by를 쿼리로 하게 되면 총 7개의 그룹이 생깁니다. 그러나 실제 프로그램에서는 8개의 그룹이 생긴다고 해서.. 도대체 왜???? 이런 생각이 들었고 소스 코드를 보고 디버깅을 해봤습니다. 결과를 보니,.. 8개가 딱..... 그리고 확인을 해보니, province-3과 Province-3 이렇게.. 두개로 나뉘어 있었습니다. 아... ㅎㅎㅎ 위에는 자바 Stream의 Groupingby를 사용하여 grouping한 결과 입니다. 쿼리 결과물을 자세히 보면.. 대소문자가 막.. 섞여 있습니다. 즉 province-3과..
테이블을 생성하거나, 칼럼을 생성하고 추가할 때 comment를 작성해주면 보기에도 편하고 다음에 새로운 사람이 왔을 때도 해당 테이블의 역할과 칼럼이 무슨 의미인지 알 수 있어서 좋습니다. 또한, 칼럼안에 데이터의 상태 값의 분류에 대해서도 적어줘도 좋습니다. 아직까지 이 기능에 대해서 모르거나.. 추가를 하지 않았다면.. 같이 협업 하는 사람들을 위해서라도 추가하고 공유하는게 좋을 것 같습니다. :) TABLE COMMENT 조회SELECTOBJTYPE, OBJNAME, NAME, VALUE FROM ::FN_LISTEXTENDEDPROPERTY (NULL, 'SCHEMA', 'DBO', 'TABLE', '테이블 이름', DEFAULT, DEFAULT); COLUMN COMMENT 조회SELECTOB..
얼마 전 개발하는 프로그램에서 DB가 LOCK에 걸려서, 타임아웃에 걸리고 메모리를 많이 잡아 먹었던 적이 있었습니다. 처음에는 DB문제인지 몰랐는데, 찾고 찾다 보니... Transaction에 걸려서 DB가 LOCK에 걸렸었습니다. 해결 방법입니다. --lock 걸린 spid 검색 : Mode에 x표시된 것이 lock EXEC sp_lock; --lock 걸린 spid의 정보 조회 : 관련 쿼리 DBCC INPUTBUFFER (119); -- lock 걸린 spid kill kill 128; Mode가 x인 것이 lock에 걸린 DB입니다.
- Total
- Today
- Yesterday
- multiple row update
- springboot https
- update query mutiple row
- 이것이 자바다
- 싱글턴
- java
- MSSQL
- 뱅셀 유전자
- 슬랙 /
- update set multiple
- update query set multiple
- 뱅크샐러드 유전자
- update set multi
- 이펙티브자바
- visual studio code
- 뱅크샐러드
- SpringBoot
- update query
- gradle
- 몽고DB 완벽가이드
- update query multi row
- spring-boot-starter-data-redis
- effectivejava
- 슬랙
- 그레이들
- vue.js
- 업데이트 쿼리
- 다중 업데이트
- Slack
- 슬랙봇
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |