Hello Alpaware, Thanks for the reply,
In the above, I just gave an example, Bt this will be dynamic, Any number of keys can come, How to segregate and assigned to particular variable? Thanking you. ---------------------------------------------------------------------- With regards. Ganesh N Neelekani On Sun, Dec 20, 2020 at 9:12 PM alpeware llc <alpew...@gmail.com> wrote: > Welcome to Clojure! > > You could just define a function taking a map as an argument and return > the query as a string using destructering [0] > > (defn people [{:keys [table person id]}] > (str "SELECT * FROM " table " WHERE person_id = " person " ORDER BY " > id)) > > You may want to have a look at Sean Cornfield's Honey SQL as well [1]. > > Hope this helps. > > [0] https://clojure.org/guides/destructuring > [1] https://github.com/seancorfield/honeysql > > On Sun, Dec 20, 2020, 9:26 AM Ganesh Neelekani <ganeshneelek...@gmail.com> > wrote: > >> Hello Team, >> >> I am new to clojure and I wanted to write a function where input from map >> keys are passed as parameter as input to the sql query. >> >> (def query-body1 " >> select first_name, last_name >> from ${table_name} >> where >> person_id=${person_id} >> order by ${id} >> ") >> >> >> (def query-body2 " >> select first_name, last_name >> from ${table_name} >> where >> person_id=${person_id}, >> and first_name=${first_name}, >> and last_name=${last_name}, >> order by ${id} >> ") >> >> (functiona-name query-body1 (:table_name "Employee", :person_id 123, id: >> "ABC")) >> >> (functiona-name query-body2 (:table_name "Employee", :person_id 123, >> :first_name "John", :last_name "David", id: "ABC")) >> >> output should be >> select first_name, last_name >> from Employee >> where >> person_id=123, >> and first_name=John, >> and last_name=David, >> order by ${id} >> >> How can I achieve this? >> >> Thanks, >> Ganesh N >> >> -- >> You received this message because you are subscribed to the Google >> Groups "Clojure" group. >> To post to this group, send email to clojure@googlegroups.com >> Note that posts from new members are moderated - please be patient with >> your first post. >> To unsubscribe from this group, send email to >> clojure+unsubscr...@googlegroups.com >> For more options, visit this group at >> http://groups.google.com/group/clojure?hl=en >> --- >> You received this message because you are subscribed to the Google Groups >> "Clojure" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to clojure+unsubscr...@googlegroups.com. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/clojure/3695bf0e-95df-4bce-b4a1-575c110c7994n%40googlegroups.com >> <https://groups.google.com/d/msgid/clojure/3695bf0e-95df-4bce-b4a1-575c110c7994n%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> > -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to clojure@googlegroups.com > Note that posts from new members are moderated - please be patient with > your first post. > To unsubscribe from this group, send email to > clojure+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/clojure?hl=en > --- > You received this message because you are subscribed to the Google Groups > "Clojure" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to clojure+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/clojure/CAHKjGjruUrYBbiLn8obCr6AEmf9fYUtdPMse--OccbRYuibG0A%40mail.gmail.com > <https://groups.google.com/d/msgid/clojure/CAHKjGjruUrYBbiLn8obCr6AEmf9fYUtdPMse--OccbRYuibG0A%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/clojure/CAGagNV6S3fjzmHMjzFvzHW%2BN9_uFKKVASBShsm%2BpyGocqsSy7g%40mail.gmail.com.