MYSQL可调用执行自定义SQL的代码

时间:2021-07-13 23:14:53
MYSQL可调用执行自定义SQL的代码
DELIMITER $$

USE `mysql_wispeed01`$$

DROP PROCEDURE IF EXISTS `sp_execSQL`$$

CREATE DEFINER=`sa`@`%` PROCEDURE `sp_execSQL`(inSql   VARCHAR(4000))
BEGIN
DECLARE l_sql VARCHAR(4000);
SET l_sql=CONCAT_WS(' ',inSql);
SET @sql=l_sql;
PREPARE s1 FROM @sql;
EXECUTE s1;
DEALLOCATE PREPARE s1;
END$$ DELIMITER ;

  在c#代码中,调用的时候字符串不需要加单引号。  例如语句:INSERT INTO t VALUES('a'),直接调用

但是在MySql客户端里面,要转义符转换单引号 CALL sp_execSQL('INSERT INTO t VALUES(\'a\')')