MYSQL存储过程执行用字符串拼成的sql语句
2015-11-26 15:47
806 查看
执行的sql必须定义为 @sql 才能执行 否则报错
DROP PROCEDURE IF EXISTS test_prepareStam; delimiter // CREATE PROCEDURE test_prepareStam(in id int) BEGIN TRUNCATE TABLE test_table; /* -- 直接拼sql 然后prepare EXECUTE set @exeSql=concat("INSERT INTO test_table (id, val, uv, visitor_val, visitor_uv)VALUES (",id); set @exeSql=concat(@exeSql,", 3,4,6,7)"); -- select @exeSql; prepare stmt from @exeSql; EXECUTE stmt; deallocate prepare stmt; */ /* -- 直接拼sql+? 然后prepare EXECUTE+using set @_id=id; set @exeSql=concat("INSERT INTO test_table (id, val, uv, visitor_val, visitor_uv)VALUES (?, 3,4,6,7)"); prepare stmt from @exeSql; EXECUTE stmt using @_id; deallocate prepare stmt; */ INSERT INTO test_table (id, val, uv, visitor_val, visitor_uv)VALUES (111, 3,4,6,7); INSERT INTO test_table (id, val, uv, visitor_val, visitor_uv)VALUES (112, 3,4,6,7); select * from test_table; END; // -- TRUNCATE TABLE test_table; -- call test_prepareStam(150); -- select * from test_table;
相关文章推荐
- MySQL事务隔离级别
- 【转载】浅谈MySql的存储引擎(表类型)
- MySQL表结构修改
- 编译安装Mysql 5.5.x
- 深入了解mysql
- mysql导入数据load data infile用法
- mysql索引、存储方式对性能的影响
- Mysql分表和分区的区别
- mysql自增
- 怎么查看和修改 MySQL 的最大连接数
- MySQL分区表
- Mysql常用命令
- mysql 回滚,撤销操作,恢复数据
- mysql -权限解决办法
- MySQL中UPDATE语句使用的实例教程
- 一次MySQL的优化之旅
- mysql 查看表结构
- MYSQL 奇怪的幻读问题!!!
- Mysql locate
- 新安装的MySQL必须调整的10项配置(转)