
rerecord(+Key, ?Value)

   Erases all entries recorded under the key Key and replaces them with the
given value Value.



Arguments
   Key                 An atom or a compound term.
   Value               Any prolog term.

Type
   Recorded Database

Description
   Used to erase all values associated with Key and then record the term
   Value under the key Key.  If Key does not exist previously, it will
   record Value under Key in the indexed database.  In the case of compound
   terms, all keys of the same name and arity are treated as equal.


   Backtracking through a call of rerecord/2 does not undo erasure of the
   erased values and the value Value is not removed.




Modes and Determinism
   rerecord(+, ?) is det

Modules
   This predicate is sensitive to its module context (tool predicate, see @/2).

Exceptions
     4 --- Key is not instantiated.
     5 --- Key is neither an atom nor a compound term.

Examples
   
   Success:
   [eclipse]: record(beer,lowenbrau),
   >        record(beer,paulaner),
   >        record(beer,spaten),
   >        rerecord(beer,guinness).
   yes.
   [eclipse]: recorded(beer,Value).
   Value = guinness     More? (;)
   no (more) solution.
   [eclipse]: erase_all(beer),rerecord(beer,guinness).
   yes.
   [eclipse]: recorded(beer,guinness).
   yes.
   Error:
   rerecord(Beer,anything).                (Error 4)
   rerecord(1,anything).                   (Error 5)
   rerecord(1.0,anything).                 (Error 5)
   rerecord("str",anything).               (Error 5)





See Also
   erase_all / 1
