ADBC
Arrow 数据库连接
加载中...
搜索中...
无匹配项
批量数据导入

#define ADBC_INGEST_OPTION_TARGET_TABLE   "adbc.ingest.target_table"
 批量插入的目标表名称。
 
#define ADBC_INGEST_OPTION_MODE   "adbc.ingest.mode"
 是创建(默认)还是追加。
 
#define ADBC_INGEST_OPTION_MODE_CREATE   "adbc.ingest.mode.create"
 创建表并插入数据;如果表存在,则报错。
 
#define ADBC_INGEST_OPTION_MODE_APPEND   "adbc.ingest.mode.append"
 不创建表,并插入数据;如果表不存在 (ADBC_STATUS_NOT_FOUND) 或与要追加的数据的模式不匹配 (ADBC_STATUS_ALREADY_EXISTS),则报错。
 
#define ADBC_INGEST_OPTION_MODE_REPLACE   "adbc.ingest.mode.replace"
 创建表并插入数据;如果原始表已存在,则将其删除。
 
#define ADBC_INGEST_OPTION_MODE_CREATE_APPEND   "adbc.ingest.mode.create_append"
 插入数据;如果表不存在,则创建表,如果表存在但模式与要追加的数据的模式不匹配 (ADBC_STATUS_ALREADY_EXISTS),则报错。
 
#define ADBC_INGEST_OPTION_TARGET_CATALOG   "adbc.ingest.target_catalog"
 批量插入的表的目录。
 
#define ADBC_INGEST_OPTION_TARGET_DB_SCHEMA   "adbc.ingest.target_db_schema"
 批量插入的表的模式。
 
#define ADBC_INGEST_OPTION_TEMPORARY   "adbc.ingest.temporary"
 使用临时表进行导入。
 

详细说明

虽然可以通过预处理语句插入数据,但显式执行批量插入效率更高。对于兼容的驱动程序,这可以通过设置和执行语句来完成。通过 AdbcStatementBind 绑定源数据,而不是设置 SQL 查询或 Substrait 计划,并通过 AdbcStatementSetOption 和以下选项设置要创建的表的名称。然后,使用 NULL 作为输出参数调用 AdbcStatementExecute(表示您不期望结果集)。

宏定义文档

◆ ADBC_INGEST_OPTION_MODE

#define ADBC_INGEST_OPTION_MODE   "adbc.ingest.mode"

是创建(默认)还是追加。

类型为 char*。

◆ ADBC_INGEST_OPTION_MODE_APPEND

#define ADBC_INGEST_OPTION_MODE_APPEND   "adbc.ingest.mode.append"

不创建表,并插入数据;如果表不存在 (ADBC_STATUS_NOT_FOUND) 或与要追加的数据的模式不匹配 (ADBC_STATUS_ALREADY_EXISTS),则报错。

◆ ADBC_INGEST_OPTION_MODE_CREATE

#define ADBC_INGEST_OPTION_MODE_CREATE   "adbc.ingest.mode.create"

创建表并插入数据;如果表存在,则报错。

◆ ADBC_INGEST_OPTION_MODE_CREATE_APPEND

#define ADBC_INGEST_OPTION_MODE_CREATE_APPEND   "adbc.ingest.mode.create_append"

插入数据;如果表不存在,则创建表,如果表存在但模式与要追加的数据的模式不匹配 (ADBC_STATUS_ALREADY_EXISTS),则报错。

ADBC API 版本 1.1.0

◆ ADBC_INGEST_OPTION_MODE_REPLACE

#define ADBC_INGEST_OPTION_MODE_REPLACE   "adbc.ingest.mode.replace"

创建表并插入数据;如果原始表已存在,则将其删除。

ADBC API 版本 1.1.0

◆ ADBC_INGEST_OPTION_TARGET_CATALOG

#define ADBC_INGEST_OPTION_TARGET_CATALOG   "adbc.ingest.target_catalog"

批量插入的表的目录。

类型为 char*。

◆ ADBC_INGEST_OPTION_TARGET_DB_SCHEMA

#define ADBC_INGEST_OPTION_TARGET_DB_SCHEMA   "adbc.ingest.target_db_schema"

批量插入的表的模式。

类型为 char*。

◆ ADBC_INGEST_OPTION_TARGET_TABLE

#define ADBC_INGEST_OPTION_TARGET_TABLE   "adbc.ingest.target_table"

批量插入的目标表名称。

如果表不存在,驱动程序应尝试创建该表。如果表存在但模式不同,则应引发 ADBC_STATUS_ALREADY_EXISTS。否则,应将数据追加到目标表。

类型为 char*。

◆ ADBC_INGEST_OPTION_TEMPORARY

#define ADBC_INGEST_OPTION_TEMPORARY   "adbc.ingest.temporary"

使用临时表进行导入。

值应为 ADBC_OPTION_VALUE_ENABLED 或 ADBC_OPTION_VALUE_DISABLED(默认值)。

ADBC_INGEST_OPTION_TARGET_CATALOG 和 ADBC_INGEST_OPTION_TARGET_DB_SCHEMA 不支持此选项。

类型为 char*。