Skip to content

See vignette("translation-function") and vignette("translation-verb") for details of overall translation technology. Key differences for this backend are:

  • Use FETCH FIRST instead of LIMIT

  • Custom types

  • paste() uses ||

  • Custom subquery generation (no AS)

  • setdiff() uses MINUS instead of EXCEPT

Note that versions of Oracle prior to 23c have limited supported for TRUE and FALSE and you may need to use 1 and 0 instead. See https://oracle-base.com/articles/23c/boolean-data-type-23c for more details.

Use simulate_oracle() with lazy_frame() to see simulated SQL without converting to live access database.

Usage

simulate_oracle()

Examples

library(dplyr, warn.conflicts = FALSE)

lf <- lazy_frame(a = TRUE, b = 1, c = 2, d = "z", con = simulate_oracle())
lf %>% transmute(x = paste0(c, " times"))
#> <SQL>
#> SELECT `c` || ' times' AS `x`
#> FROM `df`
lf %>% setdiff(lf)
#> <SQL>
#> (
#>   SELECT *
#>   FROM `df`
#> )
#> MINUS
#> (
#>   SELECT *
#>   FROM `df`
#> )