spec_sql_read_table
dbReadTable()
returns a data frame that contains the complete data
from the remote table, effectively the result of calling dbGetQuery()
with SELECT * FROM <name>
.
An error is raised if the table does not exist.
An empty table is returned as a data frame with zero rows.
The presence of rownames depends on the row.names
argument,
see sqlColumnToRownames()
for details:
If FALSE
or NULL
, the returned data frame doesn't have row names.
If TRUE
, a column named "row_names" is converted to row names,
an error is raised if no such column exists.
If NA
, a column named "row_names" is converted to row names if it exists,
otherwise no translation occurs.
If a string, this specifies the name of the column in the remote table that contains the row names, an error is raised if no such column exists.
The default is row.names = FALSE
.
If the database supports identifiers with special characters,
the columns in the returned data frame are converted to valid R
identifiers
if the check.names
argument is TRUE
,
otherwise non-syntactic column names can be returned unquoted.
An error is raised when calling this method for a closed
or invalid connection.
An error is raised
if name
cannot be processed with dbQuoteIdentifier()
or if this results in a non-scalar.
Unsupported values for row.names
and check.names
(non-scalars,
unsupported data types,
NA
for check.names
)
also raise an error.
The following arguments are not part of the dbReadTable()
generic
(to improve compatibility across backends)
but are part of the DBI specification:
row.names
(default: FALSE
)
check.names
They must be provided as named arguments. See the "Value" section for details on their usage.
The name
argument is processed as follows,
to support databases that allow non-syntactic names for their objects:
If an unquoted table name as string: dbReadTable()
will do the
quoting,
perhaps by calling dbQuoteIdentifier(conn, x = name)
If the result of a call to dbQuoteIdentifier()
: no more quoting is done