Moje pytanie może być proste, jeśli jesteś przyzwyczajony do MySQL. Jestem przyzwyczajony do PostgreSQL SGBD i próbuję przetłumaczyć skrypt PL/PgSQL na MySQL.Zdeklaruj zmienną wyzwalacz MySQL
Oto co mam:
delimiter //
CREATE TRIGGER pgl_new_user
AFTER INSERT ON users FOR EACH ROW
BEGIN
DECLARE m_user_team_id integer;
SELECT id INTO m_user_team_id FROM user_teams WHERE name = "pgl_reporters";
DECLARE m_projects_id integer;
DECLARE cur CURSOR FOR SELECT project_id FROM user_team_project_relationships WHERE user_team_id = m_user_team_id;
OPEN cur;
ins_loop: LOOP
FETCH cur INTO m_projects_id;
IF done THEN
LEAVE ins_loop;
END IF;
INSERT INTO users_projects (user_id, project_id, created_at, updated_at, project_access)
VALUES (NEW.id, m_projects_id, now(), now(), 20);
END LOOP;
CLOSE cur;
END//
Ale MySQL Workbench daje mi błąd na DECLARE m_projects_id
. Naprawdę nie rozumiem, ponieważ mam tę samą instrukcję dwie linie powyżej ...
Jakieś wskazówki?
EDYCJA: neubert rozwiązany ten błąd. Dzięki.
Ale jeszcze, gdy próbuję wstawić do użytkowników:
Error Code: 1329. No data - zero rows fetched, selected, or processed
Czy masz jakiś pomysł? Lub lepiej, czy wiesz, w jaki sposób mogę uzyskać lepszy komunikat o błędzie?
Spójrz tutaj: http://dba.stackexchange.com/questions/25405/event-scheduler-no-data-zero-rows-fetched-selected-lub-processed –