executeSql {DatabaseConnector} | R Documentation |
Execute SQL code
Description
This function executes SQL consisting of one or more statements.
Usage
executeSql(
connection,
sql,
profile = FALSE,
progressBar = !as.logical(Sys.getenv("TESTTHAT", unset = FALSE)),
reportOverallTime = TRUE,
errorReportFile = file.path(getwd(), "errorReportSql.txt"),
runAsBatch = FALSE
)
Arguments
connection |
The connection to the database server created using either
|
sql |
The SQL to be executed |
profile |
When true, each separate statement is written to file prior to sending to the server, and the time taken to execute a statement is displayed. |
progressBar |
When true, a progress bar is shown based on the statements in the SQL code. |
reportOverallTime |
When true, the function will display the overall time taken to execute all statements. |
errorReportFile |
The file where an error report will be written if an error occurs. Defaults to 'errorReportSql.txt' in the current working directory. |
runAsBatch |
When true the SQL statements are sent to the server as a single batch, and executed there. This will be faster if you have many small SQL statements, but there will be no progress bar, and no per-statement error messages. If the database platform does not support batched updates the query is executed without batching. |
Details
This function splits the SQL in separate statements and sends it to the server for execution. If an error occurs during SQL execution, this error is written to a file to facilitate debugging. Optionally, a progress bar is shown and the total time taken to execute the SQL is displayed. Optionally, each separate SQL statement is written to file, and the execution time per statement is shown to aid in detecting performance issues.
Examples
## Not run:
connectionDetails <- createConnectionDetails(
dbms = "postgresql",
server = "localhost",
user = "root",
password = "blah",
schema = "cdm_v4"
)
conn <- connect(connectionDetails)
executeSql(conn, "CREATE TABLE x (k INT); CREATE TABLE y (k INT);")
disconnect(conn)
## End(Not run)