Przejdź do głównej zawartości

SQL - Trigger - wyzwalacz - SQL podstawy

Wyzwalacz (ang. trigger) procedura wykonywana automatycznie jako reakcja na pewne zdarzenia w tabeli bazy danych. Wyzwalacze mogą ograniczać dostęp do pewnych danych, rejestrować zmiany danych lub nadzorować modyfikacje danych



CREATE TABLE trigger_test(
message VARCHAR (100)
);


DELIMITER $$
CREATE
      TRIGGER my_trigger BEFORE INSERT
      ON employee
      FOR EACH ROW BEGIN
         INSERT INTO trigger_test VALUES ('added new employee');
      END $$
DELIMITER;

Before anything new item will be added to employee table than insert into trigger value "Added new employee" 

DELIMITER change ; into $$ because ; need to be use in TRIGGER what cause end of function



DELIMITER $$
CREATE
    TRIGGER my_trigger1 BEFORE INSERT 
    ON employee
    FOR EACH ROW BEGIN
        IF NEW.sex='M' THEN
            INSERT INTO trigger_test VALUES ('added male employee');
        ELSEIF NEW.sex = 'F' THEN
            INSERT INTO trigger_test VALUES ('added female');
        ELSE
            INSERT INTO trigger_test VALUES ('added other employee');
        END IF;    
    END $$
DELIMITER;   

INSERT INTO employee
VALUES(179, 'Oscar', 'Test', '1968-02-11', 'F', 6900, 106, 3);
INSERT INTO employee
VALUES(180, 'Oscar', 'Bob', '1968-02-11', 'M', 6900, 106, 3);

SELECT * FROM trigger_test;  

http://www.mysqltutorial.org/create-the-first-trigger-in-mysql.aspx

SHOW TRIGGERS;

Komentarze

Popularne posty z tego bloga

Skrócony zapis if - instrukcja warunkowa java

Instrukcja warunkowa - warunek i rezultat. if (warunek) { jesli spełniony wykonań operacje i zwróć wynik; } warunek nie spełniony Możliwości skrócenia kodu instrukcji warunkowej if (i < 0) ? i-- : i++; Jeżeli i mniejsze od zera to i-- jezeli false to i++ if (i < 0) {     i--; } else {     i++; } Skrócony zapis instrukcji warunkowej else if (i < 0) ? i--;  inna_zmienna=4; : i++; if (i < 0) {     i--; } else {     i++;     inna_zmienna = 4; } Skrócony zapis if

String-2 > xyzThere - java

Return true if the given string contains an appearance of "xyz" where the xyz is not directly preceeded by a period (.). So "xxyz" counts but "x.xyz" does not.  xyzThere("abcxyz") → true xyzThere("abc.xyz") → false xyzThere("xyz.abc") → true Definiujemy loop ktory sprawdza za kazdym podejsciem czy kolejne indexy i,i+1 oraz i+2 i zdefiniowane dla nich char.  Nalezy tu pamietac ze jesli sprawdamy po indeksach np i+2 to tzreba zostawic "miejsce" na koncu aby nie bylo outOfBoudnExeption tj przekroczenia rlugosci stringa. Jezeli pierwszy warunek jest spelniony tj mamy na kolejnych indexach interesujace nas char-y sprawdzamy czy na poprzedzajacych nasza trojkę indexach pojawia sie "." zaczynamy od indexu 0 - tzreba to uwzglednić w warunku tj albo index 0 == 0 lub i-1 == 0 public boolean xyzThere ( String str ) { int len = str . length () - 2 ; for ( int i = 0 ; i < len ; i...

Learning by doing - Java - 50+ Interview Questions for Programmers

Learning by doing - Java - 50+ Interview Questions for Programmers 50+ Interview questions for 50+ days ? We will see ;) Risky resolution but method "learning by doing" is great!! First are coming questions regarding Arrays: How do you find the missing number in a given integer array of 1 to 100? ( solution ) How do you find the duplicate number on a given integer array? ( solution ) How do you find the largest and smallest number in an unsorted integer array? ( solution ) How do you find all pairs of an integer array whose sum is equal to a given number? ( solution ) How do you find duplicate numbers in an array if it contains multiple duplicates? ( solution ) How are duplicates removed from a given array in Java? ( solution ) How is an integer array sorted in place using the quicksort algorithm? ( solution ) How do you remove duplicates from an array in place? ( solution ) How do you reverse an array in place in Java? ( solution ) How are duplicates remov...