oracle的视图转mysql_oracle视图迁移到mysql[通俗易懂]

oracle视图迁移mysql(仅记录当前项目遇到的小问题和解决方案)涉及问题点:1、函数差异oracle              mysql判断空值:  nvl(‘字段‘,值)            ifnull(‘字段‘,值)条件赋值:  decode()            casewhenthenelseend日期格式化: to_char(‘date‘,‘yy…

大家好,又见面了,我是你们的朋友全栈君。

oracle视图迁移mysql(仅记录当前项目遇到的小问题和解决方案)

涉及问题点:

1、函数差异

oracle                 mysql

判断空值:   nvl(‘字段‘,值)            ifnull(‘字段‘,值)

条件赋值:   decode()               case when then else end

日期格式化:  to_char(‘date‘,‘yyyy-MM-dd‘)         date_format(‘date‘,‘yyyy-MM-dd‘)

2、规则限定

主要是mysql创建视图遇到的规则限制,

2.1、mysql创建视图不允许SQL中有子查询,oracle不存在次限制。

2.2、mysql分组排序实现和oracle差异

oracle分组排序,获取排序id:row_number() over(partition by a.policy_id order by a.transfer_date desc)

mysql方案:使用函数

CREATE FUNCTION `func_inc_var_session`(reset BIT) RETURNS int

NO SQL

NOT DETERMINISTIC

begin

IF reset THEN

SET @var := 0;

ELSE

SET @var := IFNULL(@var,0) + 1;

END IF;

return @var;

end

视图:SELECT func_inc_var_session(0) FROM (select语句集合结果)T JOIN (SELECT func_inc_var_session(1)) r

【转自–https://blog.csdn.net/ai_feng123/article/details/82256814】

2.2.1倘若不使用视图排序,可使用变量(变量需要使用实体表,mysql变量不支持虚拟表)

SELECT @rownum := @rownum+1 AS rownum, table1.* FROM (SELECT @rownum:=0) r ,table1;

–附mysql创建视图的限制–http://blog.51yip.com/mysql/1065.html

原文:https://www.cnblogs.com/cbxx/p/11137330.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/128687.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 十大移动开发平台

    十大移动开发平台1.PutdbWebBuilder    WebBuilder是一款开源的可视化移动Web应用开发和运行平台。基于浏览器的集成开发环境,可视化和智能化的设计,能轻松完成常规应用和面向手机的移动应用开发;高效、稳定和可扩展的特点,适合复杂企业级应用的运行;跨平台、数据库和浏览器的架构,适应复杂的服务器和客户端环境;包括智能数据库访问在内的多项先进技术,使应用系统的开发更快捷和简单。 …

    2022年5月31日
    40
  • 失眠食疗方_重度失眠7个偏方

    失眠食疗方_重度失眠7个偏方1.失眠食疗方21世纪的中国青少年基本上都是亚健康问题,而在众多身体问题的前置就是睡眠问题可以理解为:睡眠问题是万病之源(人体没时间修复)PS:经常熬夜、作息不规律睡眠就会慢慢变差(随着

    2022年8月2日
    3
  • Socket原理讲解

    Socket原理讲解对TCP/IP、UDP、Socket编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵。那么我想问:1.什么是TCP/IP、UDP?2.Socket在哪里呢?3.Socket是什么呢?4.你会使用它们吗?什么是TCP/IP、UDP?TCP/IP(TransmissionCont…

    2022年5月25日
    34
  • 《剑指offer》– 第一个只出现一次的字符、数组中只出现一次的数字、字符流中第一个不重复的字符、数组中重复的数字

    《剑指offer》– 第一个只出现一次的字符、数组中只出现一次的数字、字符流中第一个不重复的字符、数组中重复的数字

    2021年10月3日
    31
  • php网上购物系统_有享网商城官网

    php网上购物系统_有享网商城官网实现功能:1、系统功能模块包括:1)登陆注册模块包括验证码、找回密码。注册模块中要使用Ajax判断用户名是否已经存在,使用正则表达式判断电子邮件、手机号和用户密码的格式是否合法。2)用户管理模

    2022年8月1日
    3
  • android之存储篇_存储方式总览

    作为一个完成的应用程序,数据存储操作是必不可少的。因此,Android系统一共提供了四种数据存储方式。分别是:SharePreference、SQLite、Content Provider和File。由于Android系统中,数据基本都是私有的的,都是存放于“data/data/程序包名”目录下,所以要实现数据共享,正确方式是使用Content Provider。  SQLite: SQLit

    2022年3月10日
    40

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号