drop trigger if exists tri_del_department ;
delimiter //
create trigger tri_del_department before delete
on departmentbegin
declare var_departmentID varchar(10) ;
select var_departmentID=departmentID from department for delete ;
delete from employee where departmentID=var_departmentID ;
end ;
//下面这个错误:
Error Code : 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'begin
declare var_departmentID varchar(10) ;
select var_departmentID=depart' at line 3
(0 ms taken)
delimiter //
create trigger tri_del_department before delete
on departmentbegin
declare var_departmentID varchar(10) ;
select var_departmentID=departmentID from department for delete ;
delete from employee where departmentID=var_departmentID ;
end ;
//下面这个错误:
Error Code : 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'begin
declare var_departmentID varchar(10) ;
select var_departmentID=depart' at line 3
(0 ms taken)
CREATE TABLE test1(a1 INT);
CREATE TABLE test2(a2 INT);
CREATE TABLE test3(a3 INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
CREATE TABLE test4(
a4 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
b4 INT DEFAULT 0
);
DELIMITER |
CREATE TRIGGER testref BEFORE INSERT ON test1
FOR EACH ROW BEGIN
INSERT INTO test2 SET a2 = NEW.a1;
DELETE FROM test3 WHERE a3 = NEW.a1;
UPDATE test4 SET b4 = b4 + 1 WHERE a4 = NEW.a1;
END
|
DELIMITER ;
建议先弄清楚语法、语义再尝试写