Search Postgresql Archives

Re: Create View from command line

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

 



On 5/10/2010 4:43 AM, OisinJK wrote:
Hi

I’m trying to build a Windows Form application that needs to alter the
definition of a View, depending on user input/selection. Essentially,
the user is selecting a property of known coordinates (‘x’,’y’) and
setting a ‘buffer’ distance . I then want to retrieve the records which
represent the map features within the specified distance of the
property. The WHERE clause of my view is:

st_dwithin(mytable.geom, st_setsrid(st_point(x, y), 27700), buffer);

I’m thinking this could be achieved either by making x, y and buffer
parameters or, I simply ALTER the View statement with literal values.
Whichever, I need to do this from a command line attached to a windows
form event, e.g. button_click.

I cannot work out how to do this. Can anyone point me in the right
direction. I’ve looked at psql.exe, but can’t work out if this holds the
answer.

Thanks

Oisin



Changing the view on the fly is a bad idea. Multiple users would step all over themselves.

I see two options:

1) don't do the where inside the view. Have the view return the column and have the client generate the where. so client would run:

select * from view where st_dwithin(geom, st_setsrid(st_point(x, y), 27700), buffer);

2) convert it to a stored procedure, which can take arguments, then have the client run something like:

select * from mapFeat(42, 42, 27700)



-Andy

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