| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- WebMvcConfigurer
- 미로탐색
- 파이썬스럽게
- 2606
- MSSQL
- SWEA
- setviewname
- 2667
- 파이썬컨벤션
- 이코테
- addAttribute
- major gc
- 2178
- 음료수얼려먹기
- heapq
- 삼성소프트웨어
- dfs
- minmax
- Arecode
- __name__
- 단지번호붙이기
- 우선순위큐
- 미로탈출
- pep8
- React
- JWT
- 화살표함수
- BFS
- Spring
- 백준
- Today
- Total
목록SQL (2)
하루하루는 성실하게 인생 전체는 되는대로
목적 java나 파이썬에서 for문을 돌리듯이, sql에서도 특정 데이터묶음을 하나의 row씩 돌면서, 매번 특정 로직을 동작시키도록 반복문을 구현할 수 있다. 이를 위해 커서(cursur)를 사용한다. --입력시 사용할 변수 선언 (일종의 틀) DECLARE @변수 [변수타입] --커서 선언 : 커서에 테이블의 데이터 일부를 담아둠 DECLARE [커서명] CURSOR FOR [서브쿼리 또는 테이블] OPEN [커서명] --커서 시작 FETCH NEXT FROM [커서명] INTO @변수 -- 커서에서 하나씩 가져오기 WHILE @@FETCH_STATUS = 0 -- 다음 fetch = 0 될 때까지 BEGIN [UPDATE문] FETCH NEXT FROM [커서명] INTO @변수 -- 다음 커서로 ..
목적 외부데이터(input된 데이터)를 테이블의 기존데이터와 비교하여 테이블에 존재하면 update하고, 존재하지 않으면 insert하도록 분기시킨다. 구조 MERGE [테이블명] USING [비교할 테이블/서브쿼리] ON [조건] WHEN MATCHED THEN --일치할 경우 UPDATE SET ~ WHEN NOT MATCHED THEN --일치하지 않을 경우 INSERT (~) VALUES (~) 대상테이블과 비교해줄 데이터는 USING 뒤에 언급해준다. (당연하게도) MATCHED THEN 다음엔 UPDATE문, NOT MATCHED THEN 다음엔 INSERT MERGE문 맨처음에 대상 테이블명이 명시되므로, UPDATE문과 INSERT문에서는 테이블명이 생략된다. => UPDATE SET ~ ..