Centar za edukaciju-BiH



#1 28.06.2015 21:26
Gjoreski Van mreze
Administrator
Registrovan od:02.02.2009
Postovi:1,854


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?
↑  ↓

#2 28.06.2015 23:36
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,642


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.
Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#3 29.06.2015 09:29
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,642


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;
Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#4 29.06.2015 21:01
Gjoreski Van mreze
Administrator
Registrovan od:02.02.2009
Postovi:1,854


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.
↑  ↓

#5 29.06.2015 21:08
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,642


Predmet:Re: Trigerri na My Sql
Imas li MySQL Tools.
Znam da si ga imao.
Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#6 29.06.2015 21:10
Gjoreski Van mreze
Administrator
Registrovan od:02.02.2009
Postovi:1,854


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
↑  ↓

#7 29.06.2015 22:48
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,642


Predmet:Re: Trigerri na My Sql
Da bas tu i pravis i ako si dobro napravio bit ce sapisan u bazi sa extenzijom trg.
Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#8 30.06.2015 17:47
Gjoreski Van mreze
Administrator
Registrovan od:02.02.2009
Postovi:1,854


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
↑  ↓

Stranice (1):1

Sva vremena su GMT +01:00. Trenutno vrijeme: 12: 04 am.