Re: Insert value input syntax of an array of types without ARRAY/ROW nor casting?

Поиск
Список
Период
Сортировка
От Alban Hertroys
Тема Re: Insert value input syntax of an array of types without ARRAY/ROW nor casting?
Дата
Msg-id 42C75038-3D65-4AFC-B6C9-04946E9934FB@solfertje.student.utwente.nl
обсуждение исходный текст
Ответ на Insert value input syntax of an array of types without ARRAY/ROW nor casting?  (Stefan Keller <sfkeller@gmail.com>)
Ответы Re: Insert value input syntax of an array of types without ARRAY/ROW nor casting?  (Stefan Keller <sfkeller@gmail.com>)
Список pgsql-general
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:737,4d848304235883070015353!



В списке pgsql-general по дате отправления:

Предыдущее
От: "Francisco Figueiredo Jr."
Дата:
Сообщение: Re: [GENERAL] Re: [GENERAL] Re: [GENERAL] Re: [GENERAL] Different encoding for string values and identifier strings? Or (select 'tést' as tést) returns different values for string and identifier...
Следующее
От: Tomas Vondra
Дата:
Сообщение: Re: query taking much longer since Postgres 8.4 upgrade