Я запутался в динамическом обновлении столбцов таблицы. У меня есть фрейм данных, который содержит информацию о роли людей в школе.
roles_sam <- data.frame(character(),character(),character(),character(),stringsAsFactors = FALSE)
names(roles_sam) <- c("Student","Staff","HOD","Principal")
Точно так же у меня есть другой фрейм данных, который содержит дату начала ролей.
roles_start <- data.frame(character(),character(),character(),character(),stringsAsFactors = FALSE)
names(roles_start) <- c("Student_Start","Staff_Start","HOD_Start","Principal_Start")
Если роль выбрана как "HOD" , тогда "HOD_Start" следует обновить с указанным значением. Аналогично, если роль выбрана как «Персонал» , то «Staff_Start» должен быть обновлен в базе данных.
Код, который я пробовал:
a <- "HOD"
sd <- "16/01/2019"
counter <- ncol(roles_start)
for(i in 1:counter){
if(names(roles_sam)[i] == a){
role_start_date <- roles_start[i]
}
}
print(role_start_date)
Этот код соответствует и возвращает правильную роль role_start_date для выбранной роли. Но я не уверен, как использовать dbSendQuery ()
dbSendQuery(con, paste0("UPDATE table_name SET role_start_date=\'",sd,"\' ") )
Это правильный путь? Кто-нибудь может мне с этим помочь? Заранее спасибо ...