[ DraganK @ 04.01.2006. 23:25 ] @
Jel' neko ima ideju kako da napravim trigger koji bi u drugu tabelu, po strukturi identičnu prvoj + 2 polja: user koji menja i opis akcije add/upd/del), ubacivao red koji se menja, dodaje ili briše.

Sva rešenja koja sam našao na netu mi se čine malo komplikovana za to što mi treba...
[ Fedya @ 05.01.2006. 09:44 ] @
Hajde budi malo precizniji kada postavljas pitanje. Sta ti treba: oces kompletan kod za okidac; ne znas kako da upises nesto u drugu tabelu; ne znas kako da utvrdis koji je tekuci korisnik...???
[ DraganK @ 08.01.2006. 23:11 ] @
Tabela TABELA1 koja se prati i TABELA1_JN koja pamti:


TABELA1 polja:
---------------------
TABID autonimber i pk
POLJE1 char
POLJE2 char
---------------------


TABELA1_JN polja:
---------------------
TABID autonimber
POLJE1 char
POLJE2 char
REC_OPERATION char
REC_USER char
REC_DATE datetime
---------------------

User doda novi red u tabelu, a triger insertuje u TABELA1_JN vrednosti koje je insertovao, vreme, usera a u rec_operation "INSERT"

User brise red u tabeli, a triger insertuje u TABELA1_JN vrednosti koje je obrisao, vreme, usera a u rec_operation "DELETE"

User menja neki red u tabela, a triger insertuje u TABELA1_JN vrednosti koje su bile pre menjanja, vreme, usera a u rec_operation "UPDATE"


[ Fedya @ 09.01.2006. 07:06 ] @
Evo ti ideja pa ti ispravi kako mislis:
Code:

CREATE TRIGGER Logit
    ON [Tabela1]
    FOR INSERT
AS
    DECLARE @counter int
    DECLARE @polje1 char
    DECLARE @polje2 char
    SET @counter = @@ROWCOUNT
    DECLARE kursor CURSOR FOR
        SELECT Polje1, Polje2 FROM Inserted
        
    IF @counter = 1
    BEGIN
        -- Ako je unet samo jedan zapis, ne treba nam kursor
        INSERT INTO [Tabela2] (SELECT Polje1 FROM Inserted, SELECT Polje2 FROM Inserted, "Insert", 'ovde utvrdis usera', DATE)
    END
    BEGIN
        OPEN kursor
        FETCH NEXT FROM kursor INTO @polje1, @polje2
        WHILE @@FETCH_STATUS = 0
            BEGIN
                INSERT INTO [Tabela2] (@polje1, @polje2, "Insert", 'user', DATE)
                FETCH NEXT FROM kursor INTO @polje1, @polje2
            END
        CLOSE kursor
    END

    DEALLOCATE kursor


Ovo ti je samo za insert, slicno definisi i za delete i update...
Nadam se da sam bar malo pomogao, ako nista drugo ovo je bar osnovna ideja, doteraj je po potrebi.
Javi da li si uspeo

Napominjem da sam ovaj kod kucao iz glave direktno u ES-ov editor poruka tako da moguce (cak je vrlo verovantno) da ima gresaka.

[Ovu poruku je menjao Fedya dana 09.01.2006. u 11:00 GMT+1]
[ DraganK @ 11.01.2006. 22:21 ] @
Sorry, tek sad videh...
Super izgleda da valja, javljam čim probam.

Thanks!