Я нахожусь в процессе изучения R, чтобы махнуть SAS на прощание, я все еще новичок в этом, и у меня почему-то возникают трудности с поиском именно того, что я ищу.
Но для этого конкретного случая я читаю:
Передать переменную R в sqlQuery RODBC?
и заставил его работать на себя, пока я вставляю только одну переменную в таблицу назначения.
Вот мой код:
library(RODBC)
channel <- odbcConnect("test")
b <- sqlQuery(channel,
"select top 1 Noinscr
FROM table
where PrixVente > 100
order by datevente desc")
sqlQuery(channel,
paste("insert into TestTable (UniqueID) Values (",b,")", sep = "")
Когда я заменяю top 1
на любое другое число, скажем, top 2
, и запускаю точно такой же код, я получаю следующие ошибки:
[1] "42000 195 [Microsoft][SQL Server Native Client 10.0][SQL Server]
'c' is not a recognized built-in function name."
[2] "[RODBC] ERROR: Could not SQLExecDirect
'insert into TestTable (UniqueID) Values (c(8535735, 8449336))'"
Я понимаю, что это потому, что генерируется дополнительный c, я предполагаю для столбца, когда даю команду: paste(b)
.
Так как же получить "8535735, 8449336"
вместо "c(8535735, 8449336)"
при использовании paste(b)
? Или есть другой способ сделать это?