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\')')