sql:delete
Executes a SQL DELETE statement, returning no result.
delete($connection as javatype:java.sql.Connection, $table as xs:string, $predicate as xs:string) ➔ item()?
Arguments | |||
| $connection | javatype:java.sql.Connection | A JDBC database connection established using sql:connect |
| $table | xs:string | The database table from which rows are to be deleted |
| $predicate | xs:string | A SQL predicate identifying the rows to be deleted |
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:delete. 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 DELETE statement, and returns no result.
The statement is constructed simply by concatenating the arguments: DELETE {$table} WHERE {$predicate}
.
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:delete($connection, 'book', 'price > 20.00')"/>