diff options
author | Adam Chlipala <adamc@hcoop.net> | 2009-05-03 14:57:33 -0400 |
---|---|---|
committer | Adam Chlipala <adamc@hcoop.net> | 2009-05-03 14:57:33 -0400 |
commit | 4d388db17b657a571f03540123683756b0875c5a (patch) | |
tree | 46b157b5c6fb6967e1ab4809f94a6d6505de7411 /demo/outer.ur | |
parent | b6f2b2e7ae6d76ee5c88f2c4bb2cd4d74ee577ca (diff) |
outer demo
Diffstat (limited to 'demo/outer.ur')
-rw-r--r-- | demo/outer.ur | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/demo/outer.ur b/demo/outer.ur new file mode 100644 index 00000000..ac49f475 --- /dev/null +++ b/demo/outer.ur @@ -0,0 +1,35 @@ +table t : { Id : int, B : string } + PRIMARY KEY Id + +table u : { Id : int, Link : int, C : string, D : option float } + PRIMARY KEY Id, + CONSTRAINT Link FOREIGN KEY Link REFERENCES t(Id) + +fun main () = + xml <- queryX (SELECT t.Id, t.B, u.Id, u.C, u.D + FROM t LEFT JOIN u ON t.Id = u.Link) + (fn r => <xml><tr> + <td>{[r.T.Id]}</td> + <td>{[r.T.B]}</td> + <td>{[r.U.Id]}</td> + <td>{[r.U.C]}</td> + <td>{[r.U.D]}</td> + </tr></xml>); + return <xml><body> + <table>{xml}</table> + + <form>Insert into t: <textbox{#Id} size={5}/> <textbox{#B} size={5}/> + <submit action={addT}/></form> + <form> + Insert into u: <textbox{#Id} size={5}/> <textbox{#Link} size={5}/> <textbox{#C} size={5}/> + <textbox{#D} size={5}/> <submit action={addU}/> + </form> + </body></xml> + +and addT r = + dml (INSERT INTO t (Id, B) VALUES ({[readError r.Id]}, {[r.B]})); + main () + +and addU r = + dml (INSERT INTO u (Id, Link, C, D) VALUES ({[readError r.Id]}, {[readError r.Link]}, {[r.C]}, {[readError r.D]})); + main () |