POSTGRESQL, parametry w VIEW
Melwin - 25-10-2007 00:01
POSTGRESQL, parametry w VIEW
Czy jest możliwe przekazanie parametrów do widoku, lub uzyskanie wiecej niż jednego wiersza z Funkcji.
Mam zapytanie:
select cast(et as varchar) as et,kl1,ref,ntp,cast(id as varchar) as id,cast(zam as varchar) as zam,model,dekor,zl,cast(symbol as varchar) as symbol,cast(rysunek as varchar) as rysunek,cast(paczkam as varchar) as paczkam,cast(paczkaa as varchar) as paczkaa,cast(typ1 as varchar) as typ1 ,cast(typ2 as varchar) as typ2,cast(typ3 as varchar) as typ3,cast(typ4 as varchar) as typ4,cast(dlugosc as varchar) as dlugosc,cast(szerokosc as varchar) as szerokosc,cast(wysokosc as varchar) as wysokosc,cast(masa as varchar) as masa from (
select '01' as et, tre.kl1,tre.ref,tre.ntp,tre.id,tre.zam,tre.model,t re.dekor,tre.zl, art.n1[1][1] as paczkam, art.n1[1][2] as paczkaa, art.n1[1][3] as typ1, art.n1[1][4] as typ2, art.n1[1][5] as typ3, art.n1[1][6] as typ4, art.n1[1][7] as symbol, art.n1[1][8] as rysunek, art.n1[1][9] as dlugosc, art.n1[1][10] as szerokosc, art.n1[1][11] as wysokosc, art.n1[1][12] as masa from tre left join art on tre.model=art.model and tre.opis=art.artykul where zl='200710011' and art.n1[1][3] is not null and ((p='Mont' and art.n1[1][13]='1') or (p='Pacz')) union all
select '02' as et, tre.kl1,tre.ref,tre.ntp,tre.id,tre.zam,tre.model,t re.dekor,tre.zl, art.n1[2][1] as paczkam, art.n1[2][2] as paczkaa, art.n1[2][3] as typ1, art.n1[2][4] as typ2, art.n1[2][5] as typ3, art.n1[2][6] as typ4, art.n1[2][7] as symbol, art.n1[2][8] as rysunek, art.n1[2][9] as dlugosc, art.n1[2][10] as szerokosc, art.n1[2][11] as wysokosc, art.n1[2][12] as masa from tre left join art on tre.model=art.model and tre.opis=art.artykul where zl='200710011' and art.n1[2][3] is not null and ((p='Mont' and art.n1[2][13]='1') or (p='Pacz')) ) as nieb order by model,dekor,typ1
i chciałbym je umieścić na stałe w bazie jednak musze zmieniać wartość '200710011' za kazdym razem na inną, jak to podac jako parametr w widoku ?
A.L.E.C - 25-10-2007 00:01
Melwin wrote: > Czy jest możliwe przekazanie parametrów do widoku
użyć funkcji np. WHERE cos = moja_funkcja(), z której zwrócisz ustawioną wcześniej (osobne zapytanie) wartość parametru. Do tego potrzebujesz skorzystać z opcji custom_variable_classes, albo z jakiegoś bardziej zaawansowanego niż plpgsql języka.
> lub uzyskanie wiecej niż jednego wiersza z Funkcji.
a to już można łatwo znaleźć w dokumentacji
-- Aleksander 'A.L.E.C' Machniak http://alec.pl gg:2275252 LAN Management System Developer http://lms.org.pl
=?ISO-8859-2?Q?Pawe=B3_Matejski?= - 25-10-2007 00:01
Melwin wrote: > Czy jest możliwe przekazanie parametrów do widoku, lub uzyskanie wiecej > niż jednego wiersza z Funkcji.
Nie, Tak.
> Mam zapytanie:
[...]
> i chciałbym je umieścić na stałe w bazie jednak musze zmieniać wartość > '200710011' za kazdym razem na inną, jak to podac jako parametr w widoku ?
To usuń ten warunek z widoku i jednocześnie zadbaj, żeby kolumna zl też była zwracana i rób tak:
select * from twoj_widok where zl = <jakas data>
-- P.M.
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[PostgreSQL] - jak =?ISO-8859-2?Q?zabezpieczy=E6_interesy_tw?==?ISO-8859-2?Q?=F3rcy_systemu_=3F=3F=3F?=
postgresql - int/int
postgresql Select count(*) czy raczej Select count(ID)
[PostgreSQL] jak =?ISO-8859-2?Q?pobra=E6_warto=B6=E6_zwracan?==?ISO-8859-2?Q?=B1_przez_funkcj=EA=3F?=
[postgresql] INSERT OR UPDATE - jak =?ISO-8859-2?Q?b=EAdzie_na?==?ISO-8859-2?Q?jlepiej=3F?=
[postgresql] kilka =?ISO-8859-2?Q?rekord=F3w_subquery_jako_?==?ISO-8859-2?Q?string?=
[PostgreSQL] Jak =?ISO-8859-2?Q?po=B3=B1czy=E6_funkcje_z_w?==?ISO-8859-2?Q?idokiem?=
Postgres - replikcja master-master
Dopasowanie do "najlepszego" dopasowania :) [ PostgreSQL]
Problemy z =?ISO-8859-2?Q?instalacj=B1_PostgreSQL_na_syste?==?ISO-8859-2?Q?mach_Windows?=
zanotowane.pldoc.pisz.plpdf.pisz.pladwokat.keep.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|