ďťż
 
[pgsql] Wykonanie triggera po =?ISO-8859-2?Q?zako=F1czeniu_tra?==?ISO-8859-2?Q?nsakcji?= ďťż
 
[pgsql] Wykonanie triggera po =?ISO-8859-2?Q?zako=F1czeniu_tra?==?ISO-8859-2?Q?nsakcji?=
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

[pgsql] Wykonanie triggera po =?ISO-8859-2?Q?zako=F1czeniu_tra?==?ISO-8859-2?Q?nsakcji?=



ethanak - 30-01-2006 10:31
[pgsql] Wykonanie triggera po =?ISO-8859-2?Q?zako=F1czeniu_tra?==?ISO-8859-2?Q?nsakcji?=
  Witam

Mam taki drobiazg i nie bardzo wiem jak to zrobić :(

Krótko (i w skrócie):

create table plik (
nazwa_pliku text unique not null,
id serial unique not null);

create trigger usun_plik after delete on plik
for each row execute procedure usunplik();

Funkcja usunplik (pisana w C) po prostu usuwa plik o nazwie w danym
rekordzie.

I teraz:

begin;
delete from plik where id = costam;
....
rollback;

.... a pliku już nie ma :(

Czegoś nie doczytałem czy to nierealne?
Postgres wersja 7.2 (na razie)

ethanak





Marek Horodyski - 30-01-2006 10:31
=?iso-8859-2?Q?Re:_=5Bpgsql=5D_Wykonanie_triggera_po_zako=F1c zeniu_transa?==?iso-8859-2?Q?kcji?=
 
Użytkownik "ethanak" <ethanak@setia.nie.przepadam.za.spamem.pl> napisał w
wiadomości news:drd8cl$456$1@opal.futuro.pl...
> Witam
>
> Mam taki drobiazg i nie bardzo wiem jak to zrobić :(
>
> Krótko (i w skrócie):
>
> create table plik (
> nazwa_pliku text unique not null,
> id serial unique not null);
>
> create trigger usun_plik after delete on plik
> for each row execute procedure usunplik();
>
> Funkcja usunplik (pisana w C) po prostu usuwa plik o nazwie w danym
> rekordzie.
>
> I teraz:
>
> begin;
> delete from plik where id = costam;
> ...
> rollback;
>
> ... a pliku już nie ma :(
>

Plik nie jest elementem relacyjnej bazy danych.
Przywrocone rekordy tak.

Marek Horodyski




=?ISO-8859-2?Q?Pawe=B3_Matejski?= - 30-01-2006 10:31

  ethanak wrote:
> Witam
>
> Mam taki drobiazg i nie bardzo wiem jak to zrobić :(
>
> Krótko (i w skrócie):
>
> create table plik (
> nazwa_pliku text unique not null,
> id serial unique not null);
>
> create trigger usun_plik after delete on plik
> for each row execute procedure usunplik();
>
> Funkcja usunplik (pisana w C) po prostu usuwa plik o nazwie w danym
> rekordzie.

> Czegoś nie doczytałem czy to nierealne?
> Postgres wersja 7.2 (na razie)

Nierealne - to jest właśnie różnica między trzymaniem plików w bazie a osobno.

--
P.M.




ethanak - 30-01-2006 10:31

  On 2006-01-27 15:56, Marek Horodyski wrote:
[...]
> Plik nie jest elementem relacyjnej bazy danych.

Hm... muszę się nad tym głębiej zastanowić ;)

> Przywrocone rekordy tak.

Właśnie dlatego chciałem aby trigger (albo jakaś inna magiczna czynność)
wykonał się _po_ commicie (kiedy żadnych rekordów przywracać już nie będę).

ethanak





ethanak - 30-01-2006 10:31

  On 2006-01-27 16:52, Paweł Matejski wrote:
[...]
> Nierealne - to jest właśnie różnica między trzymaniem plików w bazie a
> osobno.
>

No to taka odpowiedź mi wystarczy, chociaż nie powiem abym był
specjalnie szczęśliwy :)

Dzięki

ethanak




=?ISO-8859-2?Q?Pawe=B3_Matejski?= - 30-01-2006 10:31

  ethanak wrote:
> On 2006-01-27 16:52, Paweł Matejski wrote:
> [...]
>
>>Nierealne - to jest właśnie różnica między trzymaniem plików w bazie a
>>osobno.
>
> No to taka odpowiedź mi wystarczy, chociaż nie powiem abym był
> specjalnie szczęśliwy :)

Zawsze można coś przykombinować. Np. jeśli nie musisz natychmiast kasować
plików, w transakcji oznaczaj tylko rekordy do skasowania, a kasowanie rób w
osobnym procesie wywoływanym co pewien czas. W tym skrypcie kasuj najpierw plik,
potem rekord.

--
P.M.




ethanak - 30-01-2006 10:31

  On 2006-01-27 19:02, Paweł Matejski wrote:
[...]
> Zawsze można coś przykombinować. Np. jeśli nie musisz natychmiast
> kasować plików, w transakcji oznaczaj tylko rekordy do skasowania, a
> kasowanie rób w osobnym procesie wywoływanym co pewien czas. W tym
> skrypcie kasuj najpierw plik, potem rekord.
>

No właśnie poprzednio kombinowałem coś w tym stylu, że wsadzałem w
transakcji pliki do oddzielnej tabeli "skasowane" i w nocy z crona
leciałem po tej tabeli (tabel z plikami jest kilka więc oznaczanie nie
miało raczej sensu, a aż tak dużo tego nie ma żeby się w ciągu 24 godzin
dysk zapchał).

Tylko strasznie nie lubię crona do takich rzeczy angażować :(

Zresztą - będę jeszcze kombinować.

ethanak




Piotr 'piter' Hlawski - 30-01-2006 10:32

  ethanak wrote:

> Tylko strasznie nie lubię crona do takich rzeczy angażować

Dlaczego? Cron to całkiem przyjemny wynalazek.

--
..:: Piter // phlawski@cut_this_crap.gmail.com // gg: 4534287 ::.
Chuck Norris zaskarżył NBC o to, że nazwa Prawo i Porządek są zastrzeżonymi
nazwami jego lewej i prawej nogi.
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    [sql][pgsql] zapytanie sql Wydajność baz danych w zależności od poziomu izolacji ANSI/ISO Która z baz: [PGSQL] czy [MySQL] będzie lepsza w takim zastosowaniu (masowe UPDATE) Czy zna (obsługuje) ktoś program Iso Draw ? [PGSQL] Pole "timestamp" a wyciagniecie tylko danych z danego roku. [pgsql] Wybieranie z dwoch tabel - z drugiej tylko jeden rekord Oracle Application Express na Oracle Database 10g Express Edition- wykonalne? [PGSQL] Pobieranie w jednym zapytaniu danych z dwoch tabel PgSQL odzyskanie zawartosci jednej tabeli z kopii - pilne [PGSQL] Strumienie np. dla ostrzeżeń w procedurach Pl Pg SQL
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • numervin.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

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com