diff options
author | scgilardi <scgilardi@gmail.com> | 2009-03-09 00:35:35 +0000 |
---|---|---|
committer | scgilardi <scgilardi@gmail.com> | 2009-03-09 00:35:35 +0000 |
commit | bcc84f320247b0f5e4173922937d5b2eb692e3d8 (patch) | |
tree | 11feae7ed9c4fbf0d46c075ddcc9ab969b5827e6 /src/clojure/contrib | |
parent | 222ade6869e10ee2a76bf5fce5335b3a853e0896 (diff) |
sql: add insert-records and test for it
Diffstat (limited to 'src/clojure/contrib')
-rw-r--r-- | src/clojure/contrib/sql.clj | 7 | ||||
-rw-r--r-- | src/clojure/contrib/sql/test.clj | 13 |
2 files changed, 18 insertions, 2 deletions
diff --git a/src/clojure/contrib/sql.clj b/src/clojure/contrib/sql.clj index b3c61ae7..18d87d95 100644 --- a/src/clojure/contrib/sql.clj +++ b/src/clojure/contrib/sql.clj @@ -132,6 +132,13 @@ [table & rows] (apply insert-values table nil rows)) +(defn insert-records + "Inserts records into a table. records are maps from strings or + keywords (identifying columns) to values." + [table & records] + (doseq [record records] + (insert-values table (keys record) (vals record)))) + (defn delete-rows "Deletes rows from a table. where-params is a vector containing a string providing the (optionally parameterized) selection criteria followed by diff --git a/src/clojure/contrib/sql/test.clj b/src/clojure/contrib/sql/test.clj index e88cd11f..deae29df 100644 --- a/src/clojure/contrib/sql/test.clj +++ b/src/clojure/contrib/sql/test.clj @@ -14,7 +14,7 @@ ;; Created 13 September 2008 (ns clojure.contrib.sql.test - (:require [clojure.contrib.sql :as sql])) + (:use [clojure.contrib.sql :as sql :only ()])) (def db {:classname "org.apache.derby.jdbc.EmbeddedDriver" :subprotocol "derby" @@ -57,6 +57,14 @@ ["Mango" 722] ["Feijoa" 441])) +(defn insert-records-fruit + "Insert rows with values for only specific columns" + [] + (sql/insert-records + :fruit + {:name "Pomegranate" :appearance "fresh" :cost 585} + {:name "Kiwifruit" :grade 93})) + (defn db-write "Write initial values to the database as a transaction" [] @@ -66,7 +74,8 @@ (drop-fruit) (create-fruit) (insert-rows-fruit) - (insert-values-fruit))) + (insert-values-fruit) + (insert-records-fruit))) nil) (defn db-read |