Search Postgresql Archives

Re: Equivalent syntax of PL/SQL using array in PL/pgSQL

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

 



On Thu, Nov 14, 2013 at 7:13 AM, Dang Minh Huong <kakalot49@xxxxxxxxx> wrote:
> I am using PostgreSQL 9.1 and get a syntax error with the following PL/pgSQL clause.
> Is there any equivalent syntax in PL/pgSQL to solve it.
>
> ------
> rec typ[];
> (typ[1]).t1 := 1;
> ------

You can easily make different tricks with records using the hstore
module [1]. Just like this:

[local]:5432 grayhemp@grayhemp=# \d a
       Table "public.a"
 Column |  Type   | Modifiers
--------+---------+-----------
 id     | integer | not null
 n      | name    |

[local]:5432 grayhemp@grayhemp=# do $$
declare rec a[];
begin
    rec[1] := (1, 'a')::a;
    rec[2] := (2, 'b')::a;
    rec[1] := rec[1] #= (hstore('id', 3::text) || hstore('n', null));
    raise info '% %', rec[1].id, rec[1].n;
end $$;
INFO:  3 <NULL>
DO

[1] http://www.postgresql.org/docs/9.3/static/hstore.html

-- 
Kind regards,
Sergey Konoplev
PostgreSQL Consultant and DBA

http://www.linkedin.com/in/grayhemp
+1 (415) 867-9984, +7 (901) 903-0499, +7 (988) 888-1979
gray.ru@xxxxxxxxx


-- 
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