使用knitr从单独的文件中漂亮地打印SQL代码

18

当使用以下代码块时,Knitr会生成漂亮的语法高亮代码。

```sql
SELECT column
FROM table
```

是否可以将SQL代码存储在文件中并实现相同的功能?类似于:

```sql
read_chunk('mycode.sql')
```
1个回答

28

我认为您可以使用内联R表达式来实现它:

```sql
`r xfun::file_string('mycode.sql')`
```

太棒了,谢谢Yihui。我不知道在代码块内可以使用内联r表达式。这使我能够保持我的文档与我的代码同步。 - Rickard
@Rickard 不行,您不能在代码块中真正使用行内R表达式。行内R表达式在此处有效,因为'''sql在knitr中不被视为代码块。目前,只有'''{r *}被识别为代码块(我无法在此处键入字面意义上的反引号,所以我使用了',应该被读作反引号)。 - Yihui Xie
1
因为这个解决方案对我无效而被踩了。SQL文件已经被正确读取和显示,但没有格式化为SQL代码。 - steinbock
在v3.4的{sql,eval=FALSE}代码块中无法运行。如果能实现这个功能就太好了。 - Chris
@Chris 确保不要包含大括号,这仅适用于未评估的 SQL,因此不需要 eval=FALSE - Calum You

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接