sql >> Base de Datos >  >> RDS >> Mysql

Pasar FieldName como parámetro en el procedimiento almacenado de MySQL

Puede usar declaraciones preparadas , por ejemplo -

CREATE `VSK_Comments_UpdateAction`(IN FieldName varchar(30),IN FieldValue tinyint,CID bigint)
BEGIN
  SET @query = CONCAT('Update comments Set ', FieldName, '=? WHERE commentid=?');
  PREPARE stmt FROM @query;
  SET @FieldValue = FieldValue;
  SET @CID = CID;
  EXECUTE stmt USING @FieldValue, @CID;
  DEALLOCATE PREPARE stmt;
END;