Name

DELETE-INSTANCE-RECORDS — Delete SQL records represented by a View Class object.Function

Syntax

      delete-instance-records object => 

Arguments and Values

object

An instance of a View Class.

Description

Deletes the records represented by object in the appropriate table of the database associated with object. If object is not yet associated with a database, an error is signalled.

Examples

(def-view-class tab () 
  ((a :initarg :a :type integer :db-kind :key) 
   (b :initarg :b :type string)))
=> #<Standard-Db-Class TAB {49B01845}>
(create-view-from-class 'tab)
=> 
(defvar obj (let ((*db-auto-sync* t))
              (make-instance 'tab :a 5 :b "the string")))
=> OBJ
(start-sql-recording :type :both)
=> 
(delete-instance-records obj) 
;; 2004-07-17 11:07:19 foo/bar/baz => DELETE FROM tab WHERE tab.a = 5
;; 2004-07-17 11:07:19 foo/bar/baz <= T
=> 
      

Side Effects

Deletes data from the SQL database.

Affected by

Permissions granted by the SQL database to the user in the database connection.

Exceptional Situations

An exception may be signaled if the database connection user does not have sufficient privileges to modify the database. An error of type sql-database-error is signalled if object is not associated with an active database.

See Also

update-records
delete-records
update-records-from-instance

Notes

Instances are referenced in the database by values stored in the key slots. If delete-records-from-instance is called with an instance of a class that does not contain any keys, then all records in that table will be deleted.