[go: up one dir, main page]

File: RODBCtables.Rd

package info (click to toggle)
rodbc 1.2.3-1
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 512 kB
  • ctags: 113
  • sloc: ansic: 1,472; makefile: 3; sh: 1
file content (93 lines) | stat: -rw-r--r-- 3,738 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
\name{RODBCtables}
\alias{sqlPrimaryKeys}
\alias{sqlColumns}
\alias{sqlDrop}
\alias{sqlClear}

\title{Operations on Tables in ODBC databases}
\description{
  Operations on tables in ODBC databases.
}
\usage{
sqlClear(channel, sqtable, errors = TRUE)

sqlDrop(channel, sqtable, errors = TRUE)

sqlColumns(channel, sqtable, errors = FALSE, as.is = TRUE,
           special = FALSE)

sqlPrimaryKeys(channel, sqtable, errors = FALSE, as.is = TRUE)
}
\arguments{
  \item{channel}{connection object as returned by \code{\link{odbcConnect}}.}
  \item{sqtable}{character: a database table name accessible from the
    connected dsn.}
  \item{errors}{if TRUE halt and display error, else return -1}
  \item{as.is}{as in \code{\link{sqlGetResults}}.}
  \item{special}{return only the column(s) needed to specify a row
    uniquely.  Depending on the database, there might be none.}
}
\details{
  \code{sqlClear} deletes the content of the table \code{sqtable}.  No
  confirmation is requested.

  \code{sqlDrop} removes the table \code{sqtable}.  No confirmation
  is requested.

  \code{sqlColumns} and \code{sqlPrimaryKeys} return information as data
  frames.  The column names are not constant across ODBC versions so the
  data should be accessed by column number.  The argument \code{special}
  to \code{sqlColumns} returns the columns needed to specify a row
  uniquely.  This is intended to form the basis of a WHERE clause for
  updates (see \code{\link{sqlUpdate}}).
}
\value{
  A data frame on success, or character/numeric on error depending on the
  \code{errors} parameter.  If no data is returned, either a zero-row
  data frame or an error. (For example, if there are no primary keys or
  special column(s) in this table
  an empty data frame is returned, but if primary keys are not supported
  by the DBMS, an error code results.)
}
\seealso{
  \code{\link{odbcConnect}}, \code{\link{sqlQuery}}, \code{\link{sqlFetch}},
  \code{\link{sqlSave}}, \code{\link{sqlTables}}, \code{\link{odbcGetInfo}}
}
\author{
  Michael Lapsley and Brian Ripley
}
\examples{
\dontrun{## example results from MySQL
channel <- odbcConnect("test")
sqlDrop(channel, "USArrests", errors = FALSE) # precautionary
sqlSave(channel, USArrests)
sqlColumns(channel, "USArrests")
sqlColumns(channel, "USArrests", special = TRUE)
sqlPrimaryKeys(channel, "USArrests")
sqlColumns(channel, "USArrests")
##   Table_cat Table_schema Table_name Column_name Data_type Type_name
## 1                         USArrests    rownames        12   varchar
## 2                         USArrests      murder         8    double
## 3                         USArrests     assault         4   integer
## 4                         USArrests    urbanpop         4   integer
## 5                         USArrests        rape         8    double
##   Column_size Buffer_length Decimal_digits Num_prec_radix Nullable Remarks
## 1         255           255           <NA>           <NA>        0
## 2          22             8             31             10        1
## 3          11             4              0             10        1
## 4          11             4              0             10        1
## 5          22             8             31             10        1
sqlColumns(channel, "USArrests", special = TRUE)
##   Scope Column_name Data_type Type_name Precision Length Scale
## 1     2    rownames        12   varchar         0      0     0
##   Pseudo_column
## 1             1
sqlPrimaryKeys(channel, "USArrests")
##   Table_qualifer Table_owner Table_name Column_name Key_seq Pk_name
## 1           <NA>        <NA>  USArrests    rownames       1 PRIMARY
sqlClear(channel, "USArrests")
sqlDrop(channel, "USArrests")
close(channel)
}}
\keyword{IO}
\keyword{database}