dbCreateTable-DatabaseConnectorConnection-method function

Create a table in the database

Create a table in the database

The default dbCreateTable() method calls sqlCreateTable() and dbExecute(). Use dbCreateTableArrow() to create a table from an Arrow schema.

## S4 method for signature 'DatabaseConnectorConnection' dbCreateTable( conn, name, fields, databaseSchema = NULL, oracleTempSchema = NULL, tempEmulationSchema = getOption("sqlRenderTempEmulationSchema"), ..., row.names = NULL, temporary = FALSE )

Arguments

  • conn: A DBIConnection object, as returned by dbConnect().

  • name: The table name, passed on to dbQuoteIdentifier(). Options are:

    • a character string with the unquoted DBMS table name, e.g. "table_name",
    • a call to Id() with components to the fully qualified table name, e.g. Id(schema = "my_schema", table = "table_name")
    • a call to SQL() with the quoted and fully qualified table name given verbatim, e.g. SQL('"my_schema"."table_name"')
  • fields: Either a character vector or a data frame.

    A named character vector: Names are column names, values are types. Names are escaped with dbQuoteIdentifier(). Field types are unescaped.

    A data frame: field types are generated using dbDataType().

  • databaseSchema: The name of the database schema. See details for platform-specific details.

  • oracleTempSchema: DEPRECATED: use tempEmulationSchema instead.

  • tempEmulationSchema: Some database platforms like Oracle and Impala do not truly support temp tables. To emulate temp tables, provide a schema with write privileges where temp tables can be created.

  • ...: Other parameters passed on to methods.

  • row.names: Must be NULL.

  • temporary: Should the table created as a temp table?

Returns

dbCreateTable() returns TRUE, invisibly.

Details

The databaseSchema argument is interpreted differently according to the different platforms: SQL Server and PDW: The databaseSchema schema should specify both the database and the schema, e.g. 'my_database.dbo'. Impala: the databaseSchema should specify the database. Oracle: The databaseSchema should specify the Oracle 'user'. All other : The databaseSchema should specify the schema.

See Also

Other DBIConnection generics: DBIConnection-class, dbAppendTable(), dbAppendTableArrow(), dbCreateTableArrow(), dbDataType(), dbDisconnect(), dbExecute(), dbExistsTable(), dbGetException(), dbGetInfo(), dbGetQuery(), dbGetQueryArrow(), dbIsReadOnly(), dbIsValid(), dbListFields(), dbListObjects(), dbListResults(), dbListTables(), dbQuoteIdentifier(), dbReadTable(), dbReadTableArrow(), dbRemoveTable(), dbSendQuery(), dbSendQueryArrow(), dbSendStatement(), dbUnquoteIdentifier(), dbWriteTable(), dbWriteTableArrow()