zxz 29.06.2015 09:29
Predmet:Re: Trigerri na My Sql

Uf to je MYSQL Tools a to ti imas.
Kada se trigeri aktiviraju ?
    Trigeri se aktiviraju kada se desi neka promjena u pridruženoj tabeli, preciznije prilikom izvrÅ¡enja Insert / Update / Delete naredbi.

sintaksa:
    CREATE TRIGGER naziv_trigera
    vrijeme_izvrÅ¡avanja_trigera
    događaj
    ON tbl_name
    FOR EACH ROW trigger_stmt

Vreme izvršavanja trigera:
BEFORE
AFTER

Događaj
je ona akcija čije izvrÅ¡avanje na pridruženoj tabeli uzrokuje aktiviranje trigera. Može biti:
INSERT
UPDATE
DELETE
Primer :

    CREATE TABLE Artikli (id INT,Naziv, Cijena DECIMAL(10,2));
    DELIMITER $$
    CREATE TRIGGER insert_trig
    BEFORE INSERT ON Artikli
    FOR EACH ROW
    BEGIN
            IF new.Cijena<0 THEN
                SET new.Cijena=0;
            ENDIF;
    END$$
    DELIMITER;

Gjoreski 28.06.2015 21:26
Predmet:Trigerri na My Sql

Me interesira dali nekoj znae dali my sql ot ima moznost da se pravat trigeri.
Ako ima kako se pravat i kako se podesuvaat?

zxz 28.06.2015 23:36
Predmet:Re: Trigerri na My Sql

Naravno da ima.
Imam negdje i pomocni program za pisanje trigera.
Naci cu pa cu postaviti.

Od prilike je slicno kao i sa MsSql.

Gjoreski 29.06.2015 21:01
Predmet:Re: Trigerri na My Sql

Procitav malku za ovie trigeri na oficijalnata mysql stranicnica i ima dosta interesni primeri no imam edno glupavo prasajne.
Nauciv kako da dodadam no nikade ne mozam da go vidam dali postoi.
Kako da go izbrisam ili izmenam ?
Instalirav i My Sql Workbench i vo nego ne mozam da se snajdam.

zxz 29.06.2015 21:08
Predmet:Re: Trigerri na My Sql

Imas li MySQL Tools.
Znam da si ga imao.

Gjoreski 29.06.2015 21:10
Predmet:Re: Trigerri na My Sql

imam ama i vo nego ne mozam da najdam kaj se pravat jas gi pravan vo MySQL Query Browser
Probav napraviv nekoi testovi funkcioniraat no ne mozam da vidam kade gi stava

zxz 29.06.2015 22:48
Predmet:Re: Trigerri na My Sql

Da bas tu i pravis i ako si dobro napravio bit ce sapisan u bazi sa extenzijom trg.

Gjoreski 30.06.2015 17:47
Predmet:Re: Trigerri na My Sql

Moze malku pomos

Imam na mssql baza eden vakov triger
PreuzmiIzvorni kôd (SQL):
  1. SET ANSI_NULLS ON
  2. SET QUOTED_IDENTIFIER ON
  3. GO
  4. ALTER TRIGGER [dbo].[T_tblSmetki_Stavki_ITrig] ON [dbo].[tblSmetki_Stavki] FOR INSERT AS
  5. SET NOCOUNT ON
  6. /* * PREVENT INSERTS IF NO MATCHING KEY IN 'tblArtikli' */
  7. IF (SELECT COUNT(*) FROM inserted) !=
  8.    (SELECT COUNT(*) FROM tblArtikli, inserted WHERE (tblArtikli.ID_Artikal = inserted.ssStavka))
  9.     BEGIN
  10.         RAISERROR 44447 'The record can''t be added or changed. Referential integrity rules require a related record in table ''tblArtikli''.'
  11.         ROLLBACK TRANSACTION
  12.     END
  13.  
  14. /* * PREVENT INSERTS IF NO MATCHING KEY IN 'tblSmetki' */
  15. IF (SELECT COUNT(*) FROM inserted) !=
  16.    (SELECT COUNT(*) FROM tblSmetki, inserted WHERE (tblSmetki.ID_Smetka = inserted.ssSmetka))
  17.     BEGIN
  18.         RAISERROR 44447 'The record can''t be added or changed. Referential integrity rules require a related record in table ''tblSmetki''.'
  19.         ROLLBACK TRANSACTION
  20.     END

Kako ovaj isti triger da go napravam za mySql