ďťż
 
firebird i triggery ďťż
 
firebird i triggery
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

firebird i triggery



Galdrian - 13-04-2007 00:03
firebird i triggery
  Czy w Firebird'zie można wyciągnąć w triggerze informację o nazwie
tabeli na rzecz której został on wywołany? Jeśli tak, to w jaki
sposób?

Chodzi mi o to, że chce aby triggery wrzucały do do wspólnej tabeli
informację o tym jaka tabela i jaką operacją została zmodyfikowana.

To dość pilne, więc byłbym bardzo wdzięczny za wszelaką pomoc.

Pozdrawiam!
Galdrian





=?ISO-8859-2?Q?Tomek_Dzi=EAcio=B3?= - 14-04-2007 00:06

  Galdrian napisał(a):
> Czy w Firebird'zie można wyciągnąć w triggerze informację o nazwie
> tabeli na rzecz której został on wywołany? Jeśli tak, to w jaki
> sposób?
>
> Chodzi mi o to, że chce aby triggery wrzucały do do wspólnej tabeli
> informację o tym jaka tabela i jaką operacją została zmodyfikowana.
>
> To dość pilne, więc byłbym bardzo wdzięczny za wszelaką pomoc.

O ile pamięć mnie nie myli to nie da się jednego triggera podpiąć pod
dwie tabele. Więc nie ma potrzeby udostępniania w triggerze informacji o
tabeli dla której został aktywowany, bo to i tak z góry wiadomo.

Tomek




Galdrian - 14-04-2007 00:06

  On 13 Kwi, 07:46, Tomek Dzięcioł <b...@adresu.com> wrote:
> Galdrian napisał(a):
>
> > Czy w Firebird'zie można wyciągnąć w triggerze informację o nazwie
> > tabeli na rzecz której został on wywołany? Jeśli tak, to w jaki
> > sposób?
>
> > Chodzi mi o to, że chce aby triggery wrzucały do do wspólnej tabeli
> > informację o tym jaka tabela i jaką operacją została zmodyfikowana.
>
> > To dość pilne, więc byłbym bardzo wdzięczny za wszelaką pomoc.
>
> O ile pamięć mnie nie myli to nie da się jednego triggera podpiąć pod
> dwie tabele. Więc nie ma potrzeby udostępniania w triggerze informacji o
> tabeli dla której został aktywowany, bo to i tak z góry wiadomo.
>
> Tomek

Trigger jest przypięty do jednej tabeli, a do drugiej robi inserta z
informacją o nazwie tabeli, jaka była modyfikowana i z numerem wiersza
i rodzajem modyfikacji.
Zależy mi na tym, żeby skrypt triggera był uniwersalny i żeby nie było
go trzeba uzupełniać o nazwę tabeli do której go przypisyją.

Kwestia jest taka, że ma być X trigger'ów o takiej samej zawartości
podpiętych do X różnych tabel i w razie ich modyfikacji treiggery te
będą robić inserta do jednej wspólnej (X+1) tabeli ze wszystkimi mi
potrzebnymi informacjami, tj. nazwa modyfikowanej tabeli, numer
modyfikowanego wiersza i rodzaj modyfikacji.




Tomek - 14-04-2007 00:06

  Galdrian napisał(a):
> Kwestia jest taka, że ma być X trigger'ów o takiej samej zawartości
> podpiętych do X różnych tabel i w razie ich modyfikacji treiggery te
> będą robić inserta do jednej wspólnej (X+1) tabeli ze wszystkimi mi
> potrzebnymi informacjami, tj. nazwa modyfikowanej tabeli, numer
> modyfikowanego wiersza i rodzaj modyfikacji.

To napisz procedurę, która poprzez parametry będzie otrzymywała dane do
zapisu i będzie wykonywała stosowny insert do bazy. W triggerach wywołuj
procedurę przekazując jej między innymi nazwę tabeli. Od jawnego
podawania nazwy tabeli w triggerze nie uciekniesz...

--
Tomek Dzięcioł





Galdrian - 14-04-2007 00:06

  > To napisz procedurę, która poprzez parametry będzie otrzymywała dane do
> zapisu i będzie wykonywała stosowny insert do bazy. W triggerach wywołuj
> procedurę przekazując jej między innymi nazwę tabeli. Od jawnego
> podawania nazwy tabeli w triggerze nie uciekniesz...
>
> --
> Tomek Dzięcioł

No właśnie tu jest problem. W PostgreSQL da się od tego uciec, bo
zmienna TG_RELNAME przechowuje dla wywołania danego triggera nazwę
tabeli na rzecz której został wywołany. Jeśli nie ma podobnego
rozwiązania w Firebir'dzie, to faktycznie nie pozostaje mi nic innego,
jak sparametryzowana procedura, ale tego wolałbym uniknąć.
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    Firebird - zmiana NULL na NOT NULL [firebird] Czym =?ISO-8859-2?Q?zast=B1pi=E6_postgresowy_inte?==?ISO-8859-2?Q?rval_=3F?= Insert do tabeli danymi z innej tabeli Firebird Insert do tabeli z danych innej tabeli plus dodatkowa wartośćpola (Firebird) firebird - dostep do roznych baz na podstawie nazwy usera,hasla i adresu IP =?iso-8859-2?q?Konfiguracja_Firebirda_pod_k=B1tem_wykorzystan ia_pami=EAci?= =?ISO-8859-2?Q?[firebird]_gdzie_si=EA_podzia=B3y_polskie_literki?= Re: [Firebird] BDE problem z zapisem konfiguracji pod Windows Vista =?iso-8859-2?q?[firebird]_-_jak_zastapi=E6_pole_longtext_=3F?= Firebird - zarzucanie =?iso-8859-2?q?pami=EAci?= RAM
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • natalia97.htw.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