Re: View unique rowid
От | Achilleus Mantzios |
---|---|
Тема | Re: View unique rowid |
Дата | |
Msg-id | Pine.LNX.4.44.0506011805190.16893-100000@matrix.gatewaynet.com обсуждение исходный текст |
Ответ на | View unique rowid ("David Klugmann" <dklugmann@hotmail.com>) |
Список | pgsql-sql |
O David Klugmann έγραψε στις Jun 1, 2005 : > > Hi > Is it possible to refer to a unique row identifier on a view ? > > I have the following view but in a subsequent select I need to refer to > each row's unique identifier and I know oid's are not valid for a view. Provided your ids are 4 bytes long, you could try to build an artificial id as > > create view persontransit > as > select personid, planet, name as aspectname, position as planetposition, SELECT personid::int8 as viewid,.... > position+angle as transitposition > from personplanet, aspect > union > select personid, planet, name as aspectname, position as planetposition, SELECT X'1'::int8<<32 | personid::int8 as viewid... > position-angle as transitposition > from personplanet, aspect > where name != 'OPPOSITION'; > > Many thanks > > David > that way the viewid is unique, + you know which part of the view it represents by masking on the 33th bit (4294967296), while you can get the actual personid by masking with X'FFFFFFFF' (4294967295) > > > ---------------------------(end of broadcast)--------------------------- > TIP 9: the planner will ignore your desire to choose an index scan if your > joining column's datatypes do not match > -- -Achilleus
В списке pgsql-sql по дате отправления: