Mysql函数 - 无法弄明白

时间:2016-11-30 18:33:10

标签: mysql

我正在使用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,无法解决这个问题。我还在学习:)。

1 个答案:

答案 0 :(得分:-1)

您必须指定varchar变量的长度,例如varchar(100)

还为第一次插入添加结束(