Nested if-statement in MySQL -



Nested if-statement in MySQL -

i making procedure inserts place ("sted") , check if inputs null. however, whenever seek add together if-statement @ start surround code (marked crash below), gives me error saying syntax not right @ "declare varstedskodeid int;" part after if-statement i'm trying add.

to eyes syntax of if-statement same within code, soon-to-be-null-check if-statement crashes simple if(true) then.

can give me hint of causes 1 if crash?

drop procedure if exists insertsted; delimiter $$ create procedure insertsted( in inputstedsnavn varchar(255), in inputstedstype varchar(255), in inputkommunenavn varchar(255)) begin if(true) <<------ crash declare varstedskodeid int; declare varkommunenr int; if(select count(stedkodeid) stedstype kodenavn = inputstedstype limit 1) = 0 insert stedstype values(default, inputstedstype); end if; set varstedskodeid = (select stedkodeid stedstype kodenavn = inputstedstype limit 1); if(select count(kommunenr) kommune kommunenavn = inputkommunenavn limit 1) = 1 set varkommunenr = (select kommunenr kommune kommunenavn = inputkommunenavn limit 1); insert sted values(default, inputstedsnavn, varstedskodeid, varkommunenr); end if; end if; <<------ crash end$$ delimiter ;

declare permitted within begin ... end compound statement , must @ start, before other statements.

http://dev.mysql.com/doc/refman/5.0/en/declare.html

mysql follows strict rules declare. have declare variables, tables, etc... @ origin of stored procedure.

change stored procedure this

declare varstedskodeid int; declare varkommunenr int; if(true) if(select count(stedkodeid) stedstype kodenavn = inputstedstype limit 1) = 0 insert stedstype values(default, inputstedstype); end if; set varstedskodeid = (select stedkodeid stedstype kodenavn = inputstedstype limit 1); if(select count(kommunenr) kommune kommunenavn = inputkommunenavn limit 1) = 1 set varkommunenr = (select kommunenr kommune kommunenavn = inputkommunenavn limit 1); insert sted values(default, inputstedsnavn, varstedskodeid, varkommunenr); end if; end if;

mysql if-statement stored-procedures local-variables declare

Comments

Popular posts from this blog

formatting - SAS SQL Datepart function returning odd values -

c++ - Apple Mach-O Linker Error(Duplicate Symbols For Architecture armv7) -

php - Yii 2: Unable to find a class into the extension 'yii2-admin' -