sql:execute
Executes a SQL statement, returning no result.
execute($connection as javatype:java.sql.Connection, $statement as xs:string) ➔ item()?
Arguments | |||
| $connection | javatype:java.sql.Connection | A JDBC database connection established using sql:connect |
| $statement | xs:string | The SQL statement to be executed |
Result | item()? | ||
Namespace
http://saxon.sf.net/sql
Saxon availability
Implemented since Saxon 9.9. Requires Saxon-PE or Saxon-EE. Available for Java only.
Notes on the Saxon implementation
Introduced in Saxon 9.9. Designed to supersede the extension instruction sql:execute. The saxon-sql-10.#.jar file,
distributed alongside the main JAR file, must be added to the classpath when these SQL extension functions
are used.
Details
The function executes a SQL statement, and returns no result.
If the statement is COMMIT WORK or ROLLBACK WORK (exactly as written)
then it is intercepted and translated into a call on $connection?commit()
or $connection?rollback_0().
Although the declared return type is item()?, the function always returns an empty
sequence. The declared return type is designed to prevent the optimizer making unwarranted assumptions.
Because this function is executed for its side-effects, it is recommended to invoke it using the saxon:do extension instruction.
Example:
<saxon:do action="sql:execute($connection, 'DROP TABLE book')"/>