我正在学习如何在 R 和 R Markdown 中使用 SQL。
我在互联网上搜索了一个解决方案,但没有任何效果。这是我到目前为止的所有代码:
---
title: "SQLTest"
author: "Cindy S. Cheung"
date: "9/30/2019"
output: html_document
---
```{r setup, include=FALSE}
install.packages("RSQLite", repos = "http://cran.us.r-project.org")
library(RSQLite)
library(DBI)
library(knitr)
db <- dbConnect(RSQLite::SQLite(), ":memory:")
knitr::opts_chunk$set(echo = TRUE)
knitr::opts_chunk$set(connection = "db")
```
```{sql, connection = db, output.var = "Order_Detail"}
dbSendStatement(db, "DROP TABLE IF EXISTS Order_Detail;")
```
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误。
Error: near "dbSendStatement": syntax error
Failed to execute SQL chunk
Run Code Online (Sandbox Code Playgroud)
我尝试了各种版本的 SQL 块标记,但没有任何帮助。我究竟做错了什么?
谢谢。
您正在尝试在 SQL 代码块中执行 R 代码。直接传递 SQL 应该可以工作:
```{sql, connection = db}
DROP TABLE IF EXISTS Order_Detail
```
Run Code Online (Sandbox Code Playgroud)
或者,您可以指定为 R 代码块:
```{r}
dbSendStatement(db, "DROP TABLE IF EXISTS Order_Detail")
```
Run Code Online (Sandbox Code Playgroud)