[SQL] SQLite는 조건부 갱신
SQLSQLite는 조건부 갱신
내가 SQLite는이 같은 성명을 만들 수 있습니까?
update books set
(if number_of_pages > 0 then number_of_pages = number_of_pages - 1)
where book_id = 10
이것에 대한 작업 구문이 있습니까?
해결법
-
==============================
1.이 경우 문은 다음 구문을 사용하여 작동합니다 :
이 경우 문은 다음 구문을 사용하여 작동합니다 :
UPDATE books SET number_of_page = CASE WHEN number_of_pages > 0 THEN (number_of_pages - 1) ELSE 0 END WHERE whatever_condition
-
==============================
2.이 문에 동일 밤은?
이 문에 동일 밤은?
update books set number_of_pages = number_of_pages - 1 where number_of_pages>0
편집하다:
새 성명에 따라 :
update books set number_of_pages = number_of_pages - 1 where number_of_pages>0 and book_id = 10
-
==============================
3.방금 조건 일부 행을 업데이트하고 그대로 다른 사람를 마칠 경우,이 수행해야합니다 :
방금 조건 일부 행을 업데이트하고 그대로 다른 사람를 마칠 경우,이 수행해야합니다 :
update books set number_of_pages = number_of_pages - 1 where number_of_pages > 0 AND book_id = 10
서로 다른 값 (book_id = 10) 모든 행을 업데이트 할 경우 "반대"조건이 문을 사용할 수 있습니다. 같을 것이다 "다른"값은 0입니다 가정 :
update books set number_of_pages = number_of_pages - 1 where number_of_pages > 0 AND book_id = 10 update books set number_of_pages = 0 where number_of_pages <= 0 AND book_id = 10
다른 제안 또는 단지 CASE를 사용합니다.
from https://stackoverflow.com/questions/9453651/conditional-update-in-sqlite by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 1 개 이상의 값을 가진 열을 PIVOT 행이 반환 (0) | 2020.07.14 |
---|---|
[SQL] 열이 다른 컬럼의 모든 값이 포함되어 있는지 확인 - MySQL의를 (0) | 2020.07.14 |
[SQL] 어떻게 SQL을 사용하여 파일에 SQL 서버에서 이미지를 저장하려면 [종료] (0) | 2020.07.14 |
[SQL] 임시 테이블의 범위? (0) | 2020.07.14 |
[SQL] 리버스 지오 코딩 : 어떻게 BigQuery의 SQL과 (위도, 경도)에 도시 가까운을 결정하기 위해? (0) | 2020.07.14 |