Доста отпечатайте sql код от отделен файл с knitr

Knitr произвежда хубав код с подчертан синтаксис, когато използва част от код, както е показано по-долу.

```sql
SELECT column
FROM table
```

Възможно ли е да се постигне същото, но със sql кода, съхранен във файл? Нещо като:

```sql
read_chunk('mycode.sql')
```

person Rickard    schedule 02.07.2014    source източник


Отговори (1)


Мисля, че можете да използвате вграден R израз, за ​​да го постигнете:

```sql
`r xfun::file_string('mycode.sql')`
```
person Yihui Xie    schedule 06.07.2014
comment
Чудесно, благодаря Yihui. Не знаех, че можете да използвате вграден r израз в частите на кода. Това ми позволява да поддържам документацията си в синхрон с моя код. - person Rickard; 07.07.2014
comment
@Rickard Не, не можете наистина да използвате вградени R изрази в парчета код. Вграденият R израз работи тук, защото '''sql не се третира като кодова част в knitr. В момента само '''{r *} се идентифицира като кодова част (не мога да въвеждам буквални обратни точки тук, затова използвах ', което трябва да се чете като обратна точка). - person Yihui Xie; 09.07.2014
comment
Гласувах против, защото това решение не работи за мен. Sql файлът се чете и показва правилно, но не е форматиран като sql код. - person steinbock; 15.08.2017
comment
Това не работи в {sql, eval=FALSE} парче във v3.4. Би било хубаво да има. - person Chris; 03.07.2018
comment
@Chris уверете се, че не включвате скобите, това е само за неоценен sql, така че eval=FALSE не е необходимо - person Calum You; 22.06.2019