From: | Stefan Keller <sfkeller(at)gmail(dot)com> |
---|---|
To: | pgsql-general List <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Insert value input syntax of an array of types without ARRAY/ROW nor casting? |
Date: | 2011-03-19 16:20:44 |
Message-ID: | AANLkTimFfJka4p7vKM-rZDANKzzP7yRR8HS-TScZy0ds@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Thank you for the hint.
Unfortunately it still does'nt work. I get
ERROR: wrong record constant: »('a'«
LINE 2: 5, $${ ('a', 'aa'), ('b', 'bb') }$$ );
^
DETAIL: Unexpected end of line.
Yours, S.
2011/3/19 Alban Hertroys <dalroi(at)solfertje(dot)student(dot)utwente(dot)nl>:
> On 19 Mar 2011, at 2:33, Stefan Keller wrote:
>
>> Given the test snippet below, why do the following insert attempts fail?
>>
>> The literal constant would be the most intuitive syntax. The attempt
>> below also closely follows the documentation AFAIK:
>> http://www.postgresql.org/docs/current/static/arrays.html
>>
>> INSERT INTO mytypetable VALUES (
>> 5, '{ ('a', 'aa'), ('b', 'bb') }' );
>>> ERROR: Syntax Error
>
>
> You need to escape those quotes you put inside the literal:
>
> INSERT INTO mytypetable VALUES (
> 5, '{ (''a'', ''aa''), (''b'', ''bb'') }' );
>
> Or use dollar-quoting (http://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-DOLLAR-QUOTING):
>
> INSERT INTO mytypetable VALUES (
> 5, $${ ('a', 'aa'), ('b', 'bb') }$$ );
>
> Alban Hertroys
>
> --
> Screwing up is an excellent way to attach something to the ceiling.
>
>
> !DSPAM:1205,4d848300235885070126629!
>
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Vincent Veyron | 2011-03-19 19:40:33 | Re: triggers and FK cascades |
Previous Message | Tomas Vondra | 2011-03-19 14:24:58 | Re: query taking much longer since Postgres 8.4 upgrade |