mysql存储过程动态if-else块,如eval
这是一个简单的工作示例mysql存储过程动态if-else块,如eval,mysql,Mysql,这是一个简单的工作示例 DROP PROCEDURE IF EXISTS `test`; CREATE PROCEDURE `test`( IN invar VARCHAR(255), OUT outvar VARCHAR(255) ) BEGIN IF(invar = 1) THEN SET outvar = 'ok'; END IF; END; 但是,在mysql中有可能做类似的事情吗 DROP PROCEDURE IF EXISTS `test`;
DROP PROCEDURE IF EXISTS `test`;
CREATE PROCEDURE `test`(
IN invar VARCHAR(255),
OUT outvar VARCHAR(255)
)
BEGIN
IF(invar = 1) THEN
SET outvar = 'ok';
END IF;
END;
但是,在mysql中有可能做类似的事情吗
DROP PROCEDURE IF EXISTS `test`;
CREATE PROCEDURE `test`(
IN invar VARCHAR(255),
OUT outvar VARCHAR(255)
)
BEGIN
SET @vs_query = CONCAT(
"IF(invar = 1)",
"SET outvar = 'ok';",
"END IF;"
);
PREPARE stmt FROM @vs_query;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END;
类似于mysql中的EVAL@vs_查询字符串?您有任何异常吗?如果是的话,你能分享吗?不,任何例外。。。成功执行但不返回任何内容。预期outvar=ok