mysql - Procedure is giving error when table dont have any row -



mysql - Procedure is giving error when table dont have any row -

i have below database table : table name - dim_module

id creation_date goals alternative value ----------------------------------------------------------- 1 2014-04-17 10:09:30 g1 0.86 2 2014-04-17 10:09:30 g1 b 0.87 3 2014-04-17 10:09:30 g2 0.5 4 2014-04-17 10:09:30 g2 b 0

i using below procedure getting desired output

create definer=`root`@`localhost` procedure `stmt`() begin set @sql = null; select group_concat(distinct concat( 'max(if(goals = ''', goals, ''', round(value, 2), null)) ', goals ) ) @sql sgwebdb.dim_module; set @sql = concat('select alternative, ', @sql, ' sgwebdb.dim_module grouping alternative'); prepare stmt @sql;

but if dim_module don't have row procedure not take care , getting error.

error code: 1064. have error in sql syntax; check manual corresponds mysql server version right syntax utilize near 'null' @ line 1

please help take care of empty table.

maybe because @sql null.

try setting value ifnull

set @sql = concat('select alternative, ', ifnull(@sql,'somecolumnor*here'), ' sgwebdb.dim_module grouping alternative');

or observe @sql null , else.

mysql

Comments

Popular posts from this blog

model view controller - MVC Rails Planning -

ruby on rails - Devise Logout Error in RoR -

html - Submenu setup with jquery and effect 'fold' -