SQL चलाने वाले R जैसे किसी भी एप्लिकेशन लेयर के लिए पैरामीटराइजेशन के प्रोग्रामिंग उद्योग मानक पर विचार करें। इस दृष्टिकोण के साथ, आप स्ट्रिंग इंटरपोलेशन या गन्दा उद्धरण बाड़ों की किसी भी आवश्यकता से बचते हैं। R के DBI मानक के कई तरीके हैं, जिनमें से एक है sqlInterpolate
:
# PREPARED STATEMENT (NO DATA) QMARKS REQUIRED BUT NAMES CAN CHANGE
sql <- "INSERT INTO trade_data (Col1, Col2, Col3, col4)
VALUES (?param1, ?param2, ?param3, ?param4)"
ch <- DBI::dbConnect(MySQL())
dbSendQuery(ch, 'set character set "utf8"')
dbSendQuery(ch, 'SET NAMES utf8')
for (i in 1:nrow(test)) {
# BIND PARAMS
query <- sqlInterpolate(conn, sql, param1 = "0", param2 = test[i, 1],
param3 = test[i, 2], param4 = test[i, 3])
# EXECUTE QUERY
dbSendQuery(ch, query)
}