ITPub博客

首页 > Linux操作系统 > Linux操作系统 > mysql 存储过程 触发器(2)

mysql 存储过程 触发器(2)

原创 Linux操作系统 作者:sieper 时间:2009-11-25 15:34:47 0 删除 编辑

在从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/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-03-17

  • 博文量
    87
  • 访问量
    210535