From: | Marc Schablewski <ms(at)clickware(dot)de> |
---|---|
To: | eus(at)member(dot)fsf(dot)org |
Cc: | Postgresql General Mailing List <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Why I cannot call a function from within an SQL function? |
Date: | 2009-02-20 13:23:26 |
Message-ID: | 499EAECE.90808@clickware.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
You are using old-style function declaration where the function body is
given as a string enclosed in '. You have to escape all ' inside the
body by doubling them. As an alternative, you can use $$ as the begin
and end markers of your function body instead of the ' then you don't
need to escape.
Eus wrote:
> 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?
>
> Thank you.
>
> Best regards,
> Eus (FSF member #4445)
>
> In this digital era, where computing technology is pervasive, your freedom depends on the software controlling those computing devices.
>
> Join free software movement today! It is free as in freedom, not as in free beer!
>
> Join: http://www.fsf.org/jf?referrer=4445
>
>
>
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Eus | 2009-02-20 13:31:07 | Re: Why I cannot call a function from within an SQL function? |
Previous Message | Ketema Harris | 2009-02-20 13:22:36 | Re: Why I cannot call a function from within an SQL function? |