get_returned_rows()
提取由 rows_insert()
、 rows_append()
、 rows_update()
、 rows_upsert()
或 rows_delete()
生成的 RETURNING
行(如果使用 returning
參數調用這些行)。如果此信息不可用,則會引發錯誤。
has_returned_rows()
檢查 x
是否存儲了 rows_insert()
、 rows_append()
、 rows_update()
、 rows_upsert()
或 rows_delete()
生成的 RETURNING 行。
例子
library(dplyr)
con <- DBI::dbConnect(RSQLite::SQLite(), ":memory:")
DBI::dbExecute(con, "CREATE TABLE Info (
id INTEGER PRIMARY KEY AUTOINCREMENT,
number INTEGER
)")
#> [1] 0
info <- tbl(con, "Info")
rows1 <- copy_inline(con, data.frame(number = c(1, 5)))
rows_insert(info, rows1, conflict = "ignore", in_place = TRUE)
#> Matching, by = "number"
info
#> # Source: table<Info> [2 x 2]
#> # Database: sqlite 3.41.2 [:memory:]
#> id number
#> <int> <int>
#> 1 1 1
#> 2 2 5
# If the table has an auto incrementing primary key, you can use
# the returning argument + `get_returned_rows()` its value
rows2 <- copy_inline(con, data.frame(number = c(13, 27)))
info <- rows_insert(
info,
rows2,
conflict = "ignore",
in_place = TRUE,
returning = id
)
#> Matching, by = "number"
info
#> # Source: table<Info> [4 x 2]
#> # Database: sqlite 3.41.2 [:memory:]
#> id number
#> <int> <int>
#> 1 1 1
#> 2 2 5
#> 3 3 13
#> 4 4 27
get_returned_rows(info)
#> # A tibble: 2 × 1
#> id
#> <int>
#> 1 3
#> 2 4
相關用法
- R dbplyr group_by.tbl_lazy 按一個或多個變量分組
- R dbplyr backend-teradata 後端:Teradata
- R dbplyr escape 轉義/引用字符串。
- R dbplyr expand.tbl_lazy 擴展 SQL 表以包含所有可能的值組合
- R dbplyr distinct.tbl_lazy 子集不同/唯一行
- R dbplyr backend-sqlite 後端:SQLite
- R dbplyr pivot_wider.tbl_lazy 將數據從長軸轉向寬軸
- R dbplyr build_sql 構建 SQL 字符串。
- R dbplyr mutate.tbl_lazy 創建、修改和刪除列
- R dbplyr collapse.tbl_sql 計算查詢的結果
- R dbplyr sql_expr 從 R 表達式生成 SQL
- R dbplyr dbplyr_uncount “計數”數據庫表
- R dbplyr count.tbl_lazy 按組計數觀察值
- R dbplyr backend-odbc 後端:ODBC
- R dbplyr head.tbl_lazy 對第一行進行子集化
- R dbplyr db-quote SQL 轉義/引用泛型
- R dbplyr copy_inline 在 dbplyr 查詢中使用本地 DataFrame
- R dbplyr backend-oracle 後端:甲骨文
- R dbplyr backend-snowflake 後端:雪花
- R dbplyr lahman 緩存並檢索 Lahman 棒球數據庫的 src_sqlite。
- R dbplyr backend-redshift 後端:紅移
- R dbplyr partial_eval 部分評估表達式。
- R dbplyr tbl_lazy 創建本地惰性 tibble
- R dbplyr backend-hana 後端:SAP HANA
- R dbplyr translate_sql 將表達式轉換為 SQL
注:本文由純淨天空篩選整理自Hadley Wickham等大神的英文原創作品 Extract and check the RETURNING rows。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。