반응형
1. 기본 방법
SQLite에서는 이를 활용해서 IN절의 조건을 넣을 수 있습니다.
만약 아래와 같은 상품 코드 기준의 상품을 삭제하는 Query를 실행해야 한다면
DELETE
FROM PRODUCT
WHERE PRDT_CODE IN (1, 2, 3, 4, 5)
// 삭제할 상품 코드 목록
val params = arrayListOf(1, 2, 3, 4, 5)
// SQLite Helper
val dbHelper:DBHelper = DBHelper(context, "데이터베이스명", null, 1)
// 쓰기 데이터베이스
val database = dbHelper.writableDatabase
// 삭제 실행
val tableName = "PRODUCT"
database.delete(PRODUCT, "PRDT_CODE in (?)", arrayOf(params.joinToString()))
위와 같이 실행하면 1~5번 코드의 상품이 "데이터베이스명" 데이터베이스의 "PRODUCT" 테이블에서 삭제 되게 됩니다.
2. 문자열 기준 방법
위의 경우에는 상품 코드가 INTEGER형인 경우이고, 만약 TEXT형인 경우 ('P001', 'P002', 등)인 경우에는 joinToString의 prefix와 postfix로 조정 가능합니다.
val params = arrayListOf("P001", "P002", "P003", "P004", "P005")
val code = params.joinToString("', '", "'", "'")
println(code)
위에 소스를 수정하면 아래와 같이 params와 joinToString이 변경되게 되고,
// 삭제할 상품 코드 목록
val params = arrayListOf("P001", "P002", "P003", "P004", "P005")
// SQLite Helper
val dbHelper:DBHelper = DBHelper(context, "데이터베이스명", null, 1)
// 쓰기 데이터베이스
val database = dbHelper.writableDatabase
// 삭제 실행
val tableName = "PRODUCT"
database.delete(PRODUCT, "PRDT_CODE in (?)", arrayOf(params.joinToString("', '", "'", "'")))
결과 Query는 아래와 같습니다.
DELETE
FROM PRODUCT
WHERE PRDT_CODE IN ('P001', 'P002', 'P003', 'P004', 'P005')
반응형
'개발 창고 > Android' 카테고리의 다른 글
[Kotlin] How to Use the Confirm window (1) | 2023.12.11 |
---|---|
[Kotlin] How To enter a null value for "ContentValues" (putNull) (0) | 2023.12.10 |
[Kotlin] How To Enter Text in TextView and EditText (2) | 2023.12.09 |
[Kotlin] How To Place Overlapping using Frame Layout (0) | 2023.12.09 |
[Kotlin] How to Replace "registerForActivityResult" (0) | 2023.12.08 |