ďťż
 
[PostgreSQL] Przekazywanie danych do funkcji ďťż
 
[PostgreSQL] Przekazywanie danych do funkcji
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

[PostgreSQL] Przekazywanie danych do funkcji



MariuszB - 29-07-2006 01:06
[PostgreSQL] Przekazywanie danych do funkcji
  Witam,

Czy da się zdefiniowac tak funkcjie w postgres aby pryjęła jako argument
nie jedną liczbe a całą kolumne?
Chodzi mi o takie wywołanie

funk((select id from miasta where miasto like "Kat%"))

Generalnie chodzi mi o to aby kryteria po których będę filtrował nie
zaszywać w parametrach funkcji

Pozdrawiam,
Mariusz





hubert depesz lubaczewski - 29-07-2006 01:06

  On 2006-07-27, MariuszB <mbyrski_s_p_a_m_@_s_p_a_m_poczta.onet.pl> wrote:
> Czy da się zdefiniowac tak funkcjie w postgres aby pryjęła jako argument
> nie jedną liczbe a całą kolumne?
> Chodzi mi o takie wywołanie
> funk((select id from miasta where miasto like "Kat%"))
> Generalnie chodzi mi o to aby kryteria po których będę filtrował nie
> zaszywać w parametrach funkcji

a możesz powiedzieć po co ci to?
czemu uważasz, że czegoś takiego potrzebujesz?
bo może funk('Kat%') będzie lepszym pomysłem?

depesz

--
http://www.depesz.com/index.php/2006/06/22/choroby/




Michał Zaborowski - 29-07-2006 01:06

  MariuszB napisał(a):
> Witam,
>
> Czy da się zdefiniowac tak funkcjie w postgres aby pryjęła jako argument
> nie jedną liczbe a całą kolumne?
> Chodzi mi o takie wywołanie
>
> funk((select id from miasta where miasto like "Kat%"))
>
select
funk(array(select...))

> Generalnie chodzi mi o to aby kryteria po których będę filtrował nie
> zaszywać w parametrach funkcji
>
Ja bym zaszył. Zrobiłbym array typu zawierającego parę
rodzaj parametru i jego wartość. Operowanie na takim czymś
powinno być wystarczająco elastyczne. Zwykle wyszukiwanie
jest dość problematyczne ze względów wydajnościowych.
Jeżeli kod, który je realizuje jest rozproszony trudno nad
tym zapanować...

--
Pozdrawiam,
Michał Zaborowski (TeXXaS)




MariuszB - 29-07-2006 01:06

  hubert depesz lubaczewski napisał(a):
>
> a możesz powiedzieć po co ci to?
> czemu uważasz, że czegoś takiego potrzebujesz?
> bo może funk('Kat%') będzie lepszym pomysłem?
>
Bo nie wiem po czym będzie następowała filtracja.
Chce napisać pewien zbiór funkcji które będą używać programiści piszący
raporty .

Powracając do mojego przykładu:

Moge napisać tak:
funk((select id from miasta where miasto like 'Kat%'))

lub tak:
funk((select miasto.id from miasto,wojewodztwo where
miasto.wojewodztwo_id=wojewodztwo.id and wojewodztwo.nazwa='Małopolskie'))

Kryteria filtrowania są zupełnie inne, funkcja jest ta sama.
Problem polega na tym że ja nie wiem po czym będzie konieczne filtrownie.

Pozdrawiam,
Mariusz





MariuszB - 29-07-2006 01:06

  Michał Zaborowski napisał(a):

> select
> funk(array(select...))
>
>> Generalnie chodzi mi o to aby kryteria po których będę filtrował nie
>> zaszywać w parametrach funkcji
>>
> Ja bym zaszył. Zrobiłbym array typu zawierającego parę
> rodzaj parametru i jego wartość. Operowanie na takim czymś
> powinno być wystarczająco elastyczne. Zwykle wyszukiwanie
> jest dość problematyczne ze względów wydajnościowych.
> Jeżeli kod, który je realizuje jest rozproszony trudno nad
> tym zapanować...

Faktycznie array powino mi rozwiązać problem.
Pomysł z tablicą typ parametru, wartość fajny ale w tej chwili nie
potrzebyje aż takiej elastyczności.
Raczej chciałem napisać funkcje która coś policzy na fakturach, ale nie
wiem jakie kryteria będą zastosowane do wyboru tych faktur.
W tej sytłacji jako parametr dam tablice z id faktury.
A programista w select zdecyduje o parametrach filtrowania.

Dzięki.

Pozdrawiam,
Mariusz
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    [PostgreSQL] - jak =?ISO-8859-2?Q?zabezpieczy=E6_interesy_tw?==?ISO-8859-2?Q?=F3rcy_systemu_=3F=3F=3F?= postgresql - int/int [MSSQL2000] Problem z =?ISO-8859-2?Q?tabel=B1/indeksem/zapytanie?==?ISO-8859-2?Q?m_czy_b=B3=B1d_w_bazie_danych=2E=2E=2E?= postgresql Select count(*) czy raczej Select count(ID) [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?= 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?= =?ISO-8859-2?Q?[psql]_Polskie_t=B3umaczenie_?= =?ISO-8859-2?Q?licencji_BSD_dla_PostgreSQL=3F?=
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • ptsite.xlx.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

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com