The default dbCreateTable()
method calls sqlCreateTable()
and
dbExecute()
.
Backends compliant to ANSI SQL 99 don't need to override it.
Backends with a different SQL syntax can override sqlCreateTable()
,
backends with entirely different ways to create tables need to
override this method.
# S4 method for DatabaseConnectorConnection
dbCreateTable(
conn,
name,
fields,
databaseSchema = NULL,
oracleTempSchema = NULL,
tempEmulationSchema = getOption("sqlRenderTempEmulationSchema"),
...,
row.names = NULL,
temporary = FALSE
)
A DBIConnection object, as returned by
dbConnect()
.
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"')
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()
.
The name of the database schema. See details for platform-specific details.
DEPRECATED: use tempEmulationSchema
instead.
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.
Must be NULL
.
Should the table created as a temp table?
dbCreateTable()
returns TRUE
, invisibly.
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.
Other DBIConnection generics:
DBIConnection-class
,
dbAppendTable()
,
dbDataType()
,
dbDisconnect()
,
dbExecute()
,
dbExistsTable()
,
dbGetException()
,
dbGetInfo()
,
dbGetQuery()
,
dbIsReadOnly()
,
dbIsValid()
,
dbListFields()
,
dbListObjects()
,
dbListResults()
,
dbListTables()
,
dbReadTable()
,
dbRemoveTable()
,
dbSendQuery()
,
dbSendStatement()
,
dbWriteTable()