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.

Reply via email to