Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Por que não posso usar uma variável como o nome da tabela em um procedimento armazenado?


Você precisa usar sql dinâmico. sim, ufa.
SET @s = CONCAT('UPDATE ', _tablename, ' SET ', _columnname, ' = NULL WHERE LENGTH(TRIM(', _columnname, ')) = 0' );
PREPARE stmt FROM @s;
EXECUTE stmt;