1
sqlite에서 실행해야하는 트랜잭션이 있습니다. 트랜잭션에는 몇 가지 쿼리가 포함됩니다. 별도로 (줄 단위로) 빌드하면 작동하지만 dbSendQuery를 n 번 호출해야합니다. 코드가 꽤 느려집니다.R RSQLite를 사용할 때 다중 행 문
이상적인 코드는 다음과 같이해야하지만, 여러 쿼리 실패
library("RSQLite")
con <- dbConnect(RSQLite::SQLite(), dbname="test.db")
dbSendQuery(con, paste("CREATE TABLE Variables (Name TEXT PRIMARY KEY, RealValue REAL, IntegerValue INTEGER, BlobValue BLOB, TextValue TEXT)"))
dbSendQuery(con, paste("INSERT INTO Variables (Name) VALUES ('newid');"))
dbSendQuery(con, paste("BEGIN IMMEDIATE TRANSACTION;",
"UPDATE Variables SET TextValue = '0' WHERE Name = 'newid';",
"UPDATE Variables SET RealValue = 0 WHERE Name = 'newid';",
"UPDATE Variables SET IntegerValue = 0 WHERE Name = 'newid';",
"COMMIT;",sep=" "))
a <- dbFetch(dbSendQuery(con, paste("SELECT * FROM _Variables;")))
dbSendQuery(con, paste("COMMIT;"))
dbBegin 및 dbCommit 난 후였다 정확히입니다! UPDATE를 결합하면 작동하지만 여러 선택 항목이 있습니다. 실제로 Variable 테이블은 변수에 사용할 임시 테이블입니다. – Michael
좋아요! 다행스럽게 도울 수 있어요. 가장 빠른 대답 중 하나. 잉크가 건조하지 않았습니다! – Parfait