TA的每日心情 | 擦汗 前天 09:07 |
---|
签到天数: 527 天 连续签到: 4 天 [LV.9]测试副司令
|
1测试积点
mysql触发器无法执行动态拼接的sql语句
- CREATE <a href="mailto:DEFINER=`sa`@`%">DEFINER=`sa`@`%</a>` PROCEDURE `sp_insertodstasktable`(in dbName VARCHAR(64),in sourceTable VARCHAR(64),
- in keyName VARCHAR(64), in id VARCHAR(64),in statusValue tinyint)
- BEGIN
- SET @tableName = f_getodstasktablename();
- -- CALL sp_createodstasktable(@tableName);
- PREPARE exec_sql FROM "INSERT INTO ods_task_20200730 values('db1','cms_channel','id','123456','0',NOW())";
- EXECUTE exec_sql;
- DEALLOCATE PREPARE exec_sql;
复制代码
直接上代码,上面的一句动态sql语句,由于insert的对象表,是动态创建的。执行上面的存储过程是可以的。
但是由于这个操作,是需要在具体的触发器下才能执行。触发器下运行报错:
- Dynamic SQL is not allowed in stored function or trigger
复制代码
有什么好的解决办法吗?
|
|