我正在使用MySql Workbench,我无法弄清楚这一点。
delimiter $$
CREATE function `klientu_copy`()
DECLARE v_laiks TIMESTAMP;
DECLARE v_liet VARCHAR(200);
set v_laiks = now();
set v_liet = current_user;
if (TG_OP = 'DELETE') THEN
insert into kopija_klienti values (v_liet,v_laiks,old.Vards,old.Uzvards,null,null);
ELSEif (TG_OP = 'INSERT') THEN
insert into kopija_klienti values (v_liet,v_laiks,null,null,new.Vards,new.Uzvards);
ELSEif (TG_OP='UPDATE') THEN
insert into kopija_klienti values (v_liet,v_laiks,old.Vards,old.Uzvards,new.Vards,new.Uzvards);
end if;
END; $$
delimiter ;
21:24:22错误代码:1064。您的SQL语法出错;检查与您的MySQL服务器版本对应的手册,以便在''klientu_copy'附近使用正确的语法()BEGIN DECLARE v_laiks timestamp; DECLARE v_liet varchar; s'在第1行0.000秒
尝试设置@variable / declare @variable,无法解决这个问题。我还在学习:)。
答案 0 :(得分:-1)
您必须指定varchar
变量的长度,例如varchar(100)
还为第一次插入添加结束(
。