sequence s
table t : { Id : int, Parent : option int, Nam : string }
PRIMARY KEY Id,
CONSTRAINT F FOREIGN KEY Parent REFERENCES t (Id) ON DELETE CASCADE
open TreeFun.Make(struct
con id = #Id
con parent = #Parent
val tab = t
end)
fun row r =
#{[r.Id]}: {[r.Nam]}
and main () =
xml <- tree row None;
return
{xml}
and add parent r =
id <- nextval s;
dml (INSERT INTO t (Id, Parent, Nam) VALUES ({[id]}, {[parent]}, {[r.Nam]}));
main ()
and del id () =
dml (DELETE FROM t WHERE Id = {[id]});
main ()