2016-11-30 3 views
0

MySql Workbench를 사용하고 있으며이를 이해할 수 없습니다.MySQL 함수 - 알아낼 수 없습니다.

 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 구문에 오류가 있습니다; ''klientu_copy '() 근처에서 사용할 올바른 구문에 대해서는 MySQL 서버 버전에 해당하는 설명서를 확인하십시오. BEGIN DECLARE v_laiks timestamp; 선언 v_liet varchar; s 'on line 1 0.000 sec

@variable/declare @variable을 시도해보십시오. 나는 아직도 당신은 또한 최초의 삽입을 위해 폐쇄 (를 추가 varchar(100)

처럼 varchar 변수의 길이를 지정해야합니다 :)

+0

첫 번째 삽입시''kopija_klienti 값에 삽입하십시오 '(v_liet, v_laiks, old.Vards, old.Uzvards, null, null;' –

+0

닫는 것을 잊었습니까? –

+0

고마워요, 그걸 보지 못했지만 ... 여전히 같은 문제가 있어요 :) –

답변

-1

을 배우는 중이에요.

+0

그렇습니다.하지만 이것은 코드에서 처음이자 유일한 오류는 아닙니다. –

+0

예, 또한 첫 번째 삽입에 대해 닫는'('를 추가하지 않았습니다. 내 대답을 편집했습니다.) –

+0

계속 오류가 있습니다. 총 5 개 이상을 계산합니다. –

관련 문제