Я знаю, что, вероятно, я должен прочитать, как сначала войти в синтаксис mysql, но я не уверен в этом. Поэтому я хотел попросить о помощи здесь.
Это был триггер с сервера sql-, и мне нужно передать его в mysql. Я сделал изменения на нескольких строках, но сейчас застрял.
Существует синтаксическая ошибка с оператором if-. "неожиданный" IF "(проверенный случай, когда... но также получил ошибку), а еще один - перед командой Alter- table-command в конце. "GO недействительный ввод на этом этапе"
CREATE TRIGGER
TEST_TRIGGER
AFTER insert
ON
TEST_TABLE
For each row
BEGIN
SET v_ANZAHL = (select COUNT(1) from inserted),
IF v_ANZAHL = 1 then
DELETE FROM
filter_group
WHERE
filter_groups_id IN
(select FilterID from filter_groups_view);
INSERT INTO filter_group
(filter_groups_id
,group_id)
SELECT
FilterID,
GruppeID
FROM
filter_groups_view
END
GO
ALTER TABLE TEST_TABLE ENABLE TRIGGER TEST_TRIGGER
GO
Существует несколько ошибок:
Вот код, скорректированный, но непроверенный из-за недостающих таблиц и содержимого:
DELIMITER $$
CREATE TRIGGER
TEST_TRIGGER
AFTER insert
ON
TEST_TABLE
For each row
BEGIN
SET v_ANZAHL = (select COUNT(1) from inserted);
IF v_ANZAHL = 1 then
DELETE FROM
filter_group
WHERE
filter_groups_id IN
(select FilterID from filter_groups_view);
INSERT INTO filter_group
(filter_groups_id
,group_id)
SELECT
FilterID,
GruppeID
FROM
filter_groups_view;
END IF;
END $$
DELIMITER ;
;
в концеSET
линии, а не,
.