Search Postgresql Archives

Re: Why I cannot call a function from within an SQL function?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



In response to Eus :
> Hi Ho!
> 
> The following query works well:
> 
>  select count (*)
>  from item_audit
>  where audit_ts >= '2008-05-30 00:00:00'
>        and audit_ts <= '2008-10-30 00:00:00'
>        and 'wst' != (select split_part(category, '-', 2)
>                      from description
>                      where split_part(category, '-', 1) = 'item'
>                            and shorthand = status
>                     )
> 
> But, when I transform it into the following SQL function, the function cannot be created barking:
> 
>  ERROR:  syntax error at or near "-"
>  LINE 6:        and $1 != (select split_part(category, '-', 2)"
> 
>  create or replace function get_I(text, timestamp, timestamp) returns bigint as
> 'select count (*)
>  from item_audit as ia
>  where audit_ts >= $2
>        and audit_ts <= $3
>        and $1 != (select split_part(category, '-', 2)
>                   from description
>                   where split_part(category, '-', 1) = 'item'
>                         and shorthand = ia.status
>                  )
> ' language sql;
> 
> What's wrong?

The quoting. Use $$-quoting around the function, for instance:

create or replace function get_I(text, timestamp, timestamp) returns bigint as $$
select count (*) ...

$$ language plpgsql;

Now you can use simple ' inside the function. Other, but inferior solution, 
use ''' instead ' inside the function.


HTH, Andreas
-- 
Andreas Kretschmer
Kontakt:  Heynitz: 035242/47150,   D1: 0160/7141639 (mehr: -> Header)
GnuPG-ID:   0x3FFF606C, privat 0x7F4584DA   http://wwwkeys.de.pgp.net

-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux