This is my Stored Procedure
CREATE DEFINER=`root`@`localhost` PROCEDURE `update_count`(IN `col_name` VARCHAR(15))
BEGIN
SET @col = CONCAT("pass_",SUBSTRING(col_name,5,3));
SET @row = SUBSTRING(col_name,1,4);
SET @query = CONCAT("UPDATE stk_center_temp SET ",@col," = ",@col,"-1 WHERE center = '",@row,"'");
PREPARE stmt FROM @query;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END
This is my trigger
CREATE TRIGGER `up_count` AFTER INSERT ON `admdamageid`
FOR EACH ROW CALL update_count("KATRSTD")
when I call stored procedure from my trigger it shows me an error
1336 - Dynamic SQL is not allowed in stored function or trigger
when i call my stored procedure directly it execute
I Recently tried this trigger
CREATE TRIGGER `up_count` AFTER INSERT ON `table1`
FOR EACH ROW BEGIN
DECLARE col_name VARCHAR(10);
DECLARE col VARCHAR(50);
DECLARE row_cl VARCHAR(50);
SET col_name = NEW.id_no;
SET col = CONCAT("pass_",SUBSTRING(col_name,5,3));
SET row_cl = SUBSTRING(col_name,1,4);
UPDATE table2
SET col = col-1 WHERE center = row_cl;
END
BUT when i insert row in table1 i got error