[postmodern-devel] Query generation

Ralf Mattes rm at seid-online.de
Wed Jun 27 19:24:44 UTC 2007


On Wed, 2007-06-27 at 21:22 +0200, Ralf Mattes wrote:
> On Wed, 2007-06-27 at 14:29 -0400, Osei Poku wrote:
> > Hi,
> > 
> > I want to generate the following query:
> > 
> > "UPDATE table1 SET col1 = NULL, col2 = NULL"
> > 
> > from the following list: ("col1" "col2")
> > 
> > my attempt is:
> > 
> > (sql
> >    (append
> >       '(:update :table1 :set)
> >       (loop for a in '("col1" "col2")
> >             collect a collect :NULL)))
> > 
> > but that apparently doesnt work.  this can probably be attributed to
> > my newness to lisp.
> > 
> > Any ideas?
> 
> 'postmodern:sql' is a macro, not a function and hence will not evaluate
> its argument. When your code really looks like above you could fix it
> like this:
> 
> (sql #.(append
>        '(:update :table1 :set)
>         (loop for a in '("col1" "col2")
>             collect a collect :NULL)))
> 


Sorry for following up my own post: if you really need to build up your
SQL at runtime you could also use the functional pendant to 'sql':

 (sql-compile(append
       '(:update :table1 :set)
        (loop for a in '("col1" "col2")
            collect a collect :NULL)))


Cheers, RalfD

> 
> 
>  
> >  thanks
> > 
> 
> _______________________________________________
> postmodern-devel mailing list
> postmodern-devel at common-lisp.net
> http://common-lisp.net/cgi-bin/mailman/listinfo/postmodern-devel




More information about the postmodern-devel mailing list