ďťż
 
postgres 8.1 -rule ďťż
 
postgres 8.1 -rule
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

postgres 8.1 -rule



pasman - 26-05-2006 01:43
postgres 8.1 -rule
  czesc.
mam trudnosci z tworzeniem regul ON DELETE.
mam tabele Dane oraz Statystyki
W Statystykach zliczam ilosc wierszy danej kategorii z tabeli Dane.
przy usuwaniu danych jednak nie moge zaktualizowac statystyk.

próbowalem nastepujacej reguly ON DELETE(Dane)
UPDATE statystyki
SET ilosc = ilosc - count(old.kategoria)
WHERE statystyki.kategoria=old.kategoria

no i blad: column statystyki.ilosc must appear in GROUP BY clause or
be used in aggregate function. ok, no to spróbowalem tak:

UPDATE statystyki SET ilosc = (statystyki.ilosc - (( SELECT
count(dane.kategoria) AS count
FROM dane
WHERE dane.kategoria::text = old.kategoria::text)))
WHERE statystyki.kategoria::text = old.kategoria::text;

niestety to sie zle liczy. to moze tak:

UPDATE statystyki SET ilosc = (statystyki.ilosc - (( SELECT
count(dane.kategoria) AS count
FROM dane
WHERE dane.id = old.id)))
WHERE statystyki.kategoria::text = old.kategoria::text;

wydaje mi sie ze to jest ok, ale tak sie chcialem poradzic, czy to
zapytanie
prazwidlowo zliczy ilosc usuwanych rekordów.





=?UTF-8?B?UGF3ZcWCIE1hdGVqc2tp?= - 26-05-2006 01:43

  pasman wrote:
> czesc.
> mam trudnosci z tworzeniem regul ON DELETE.
> mam tabele Dane oraz Statystyki
> W Statystykach zliczam ilosc wierszy danej kategorii z tabeli Dane.
> przy usuwaniu danych jednak nie moge zaktualizowac statystyk.
>
> próbowalem nastepujacej reguly ON DELETE(Dane)
> UPDATE statystyki
> SET ilosc = ilosc - count(old.kategoria)
> WHERE statystyki.kategoria=old.kategoria
>
> no i blad: column statystyki.ilosc must appear in GROUP BY clause or
> be used in aggregate function. ok, no to spróbowalem tak:

A czemu nie po prostu (select count(old.kategoria) from old where
statystyki.kategoria=old.kategoria) zamiast count()?
Tego nie sprawdzałem, ale wynika to z dokumentacji, że powinno.

> UPDATE statystyki SET ilosc = (statystyki.ilosc - (( SELECT
> count(dane.kategoria) AS count
> FROM dane
> WHERE dane.kategoria::text = old.kategoria::text)))
> WHERE statystyki.kategoria::text = old.kategoria::text;
>
> niestety to sie zle liczy. to moze tak:

Przecież w subselekcie liczysz ilość pozostałych rekordów, a nie
skasowany! Wywal 'statystyka.ilosc - '.

--
P.M.
  • 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 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.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • shutter.opx.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