[ library(mysql) | ]

sql_delete(+Table, +Where, ++Attributelist, ++Valuelist, -RowsDeleted)

Delete tuple(s) from database
Table
Atom or string
Where
Atom or string
Attributelist
List of atoms or strings
Valuelist
List of ground terms
RowsDeleted
Variable or integer

Description

Used to delete tuples from the relation Table. The set of tuples to be deleted can be restricted using both Where and Attributelist/Valuelist. The string Where will be inserted literally after the keyword WHERE in the SQL DELETE instruction. If Attributelist and Valuelist are not empty, then only tuples whose attributes in Attributelist match the corresponding values in Valuelist, will be deleted. Both lists must have the same length. After deletion, RowsDeleted will be unified with the number of deleted rows. Even if the unification fails, the rows will remain deleted.

Resatisfiable

no

Examples

    % delete all 5 tuples of relation 'Adressen'
    ?- sql_delete('Adressen','',[],[],R).
    R = 5
    yes.

    % Delete from relation 'Adressen' (which has the attributes Id and Name)
    % all people with name "Schmidt" whose Id is also stored in the relation
    % 'Loeschbar'
    ?- sql_delete("Adressen","Id in (select Id from Loeschbar)",
                ["Name"],["Schmidt"],_).
    yes.
    

See Also

sql_insert / 3