在从ORACLE到MYSQL的转变过程中,有很多相似之处,但是有很多不通的使用方法确实令人哭笑不得。
简单的记录一下:
MYSQL PROCEDURE里面 concat和ORACLE一样 但是没有||连接符了。这个还可以说的过去。
declare cur CURSOR for select * from tab;这个和oracle是不一样的。for后面不能动态定义,参数值可以,但是没法定义类似select * from tab || tab2;必须一次写好需要的SQL,对于有些需求来说就不好受了。
还有过程中调用过程后,不能直接定义cursor。必须把定义cursor的语句用下一个begin end封起来。
@var的定义和使用 要在动态sql中使用'select xxx into @var' 需用单引号。
存储过程总处理动态SQL的方式
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
貌似函数中不支持这种定义。过程中不能处理返回的结果集,如果SQL是个Select的话。项目完了仔细查阅再说吧。所以用临时表代替处理,哎··
一切都在学习中,上面得这些只做暂时记忆,有错误的话再修改。留个空
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/11813230/viewspace-620533/ ,如需转载,请注明出处,否则将追究法律责任。