2
我有關於觸發器的問題。 我在PostgreSQL的plpgSQL中創建了一個函數,但現在我需要在MySQL中執行此操作。我嘗試了幾乎所有的東西,但我不知道如何去做。有人知道該怎麼做,並幫助我嗎?從plpgSQL觸發到MySQL
這裏是在PLPGSQL代碼:
CREATE OR REPLACE FUNCTION provjera_rezultata() RETURNS TRIGGER AS $$
DECLARE
neodigrane_utakmice INT;
BEGIN
SELECT COUNT(*) INTO neodigrane_utakmice
FROM utakmice AS u
JOIN momcadi AS m1
ON m1.momcad_ID = u.momcad_a
JOIN momcadi AS m2
ON m2.momcad_ID = u.momcad_b
WHERE rezultat IS NULL;
IF neodigrane_utakmice > 0 THEN
RAISE NOTICE 'Broj utakmica bez rezultata je %', neodigrane_utakmice;
END IF;
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
另外,我不知道MySQL使用什麼和PostgreSQL 「RAISE NOTICE」。
我這樣做,但我得到的錯誤:(
DELIMITER $$
CREATE TRIGGER provjera_rezultata
AFTER INSERT ON utakmice FOR EACH ROW
DECLARE broj INTEGER;
BEGIN
SELECT COUNT(*) INTO broj
FROM utakmice AS u
JOIN momcadi AS m1
ON m1.momcad_ID = u.momcad_a
JOIN momcadi AS m2
ON m2.momcad_ID = u.momcad_b
WHERE rezultat IS NULL;
IF broj > 0 THEN
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'Postoje utakmice bez konacnog rezultata!';
END IF;
END $$
我插入我的有問題的SQL代碼,但我得到的錯誤:( – Nikola