On 2013-11-14 10:56, Dang Minh Huong wrote: > Hi, > > 2013/11/15 0:38、Elliot <yields.falsehood@xxxxxxxxx> のメッセージ: > >>> On 2013-11-14 10:32, Dang Minh Huong wrote: >>> Hi, >>> >>> 2013/11/15 0:20、Elliot <yields.falsehood@xxxxxxxxx> のメッセージ: >>> >>>>> On 2013-11-14 10:13, Dang Minh Huong wrote: >>>>> Hi all, >>>>> >>>>> 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; >>>>> ------ >>>>> >>>>> typ is type which was created by command below. >>>>> >>>>> Create type typ as( >>>>> t1 interger, >>>>> t2 text); >>>>> >>>>> I am migrating data from Oracle to PostgreSQL and encounter this issue. >>>>> >>>>> Thanks, >>>>> Huong, >>>> If typ is the type and rec is the variable, do you mean to access rec[1]? >>> Sorry for this miss. >>> Yes, typ is the type and rec is the variable. >>> I only want to assign a value to rec[1].t1. >>> >>> Thanks, >>> Huong, >> I can't recall a source on this but I'm not sure you can assign to >> composite types' members in plpgsql > I think so too. > >> (unlike in straight sql where update >> set rec.t1 := 1 is valid). You can build the entire record at once like >> "rec[1] := (1, null)::typ;". >> > But if do like that, the rec[1].t2 will replaced by null. > Is there another way? > > Thanks, > Huong, > Yes - see David Johnston's response -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general