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

posted @ 2017-03-13 19:37  Vincent_void  阅读(835)  评论(0编辑  收藏  举报