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
Post a Comment