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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • XMPP得知--建立一个管理类

    XMPP得知--建立一个管理类

    2022年1月13日
    60
  • linux下安装部署eureka_Linux部署jboss

    linux下安装部署eureka_Linux部署jboss系列文章目录前言网上搜索了一箩筐安装部署redis的文章,成功部署安装了,方便以后用的着,现在记录下一、下载Redis进入Redis官网找到下载地址点击进入第一种方法:下载压缩包这里我使用的是secureCRT工具连接服务器,上传文件需要使用rz命令xshell工具可忽略步骤#yum自动安装yuminstalllrzsz#yum自动安装完成后输入rz选中下载好的redis.tar.gz包单击上传第二种方法:链接下载Redis右击鼠

    2022年10月5日
    4
  • cmd批处理命令~%dp0与~%dpn1的解析

    cmd批处理命令~%dp0与~%dpn1的解析1、最简单的做法是在cmd命令输入:for/?,回车,就能看到详细的解析对一组文件中的每一个文件执行某个特定命令。FOR%variableIN(set)DOcommand[command-parameters]%variable指定一个单一字母可替换的参数。(set)指定一个或一组文件。可以使用通配符。command指定对每个文件执行的命令。…

    2025年12月8日
    5
  • 使用Taro小程序框架开发一个学习、刷题、论坛、聊天交流的微信小程序

    使用Taro小程序框架开发一个学习、刷题、论坛、聊天交流的微信小程序项目介绍当代大学生上课缺少积极性,学习缺乏效率。同为大学生的我深有体会。所以特别开发出这样一款学习类的微信小程序帮助学生进行学习、巩固知识,同时增加对战PK模块来加强学生们的学习积极性。这是一个为学生提供在线学习课程、题库练习、考试答题、做题PK、上课签到、资料查阅、成绩分析等功能的微信小程序希望大佬们走过路过给个star~技术选型前端:Taro+微信小程序+Echarts后端:…

    2022年9月28日
    4
  • kali更新源(软件更新,附kali源列表)

    kali更新源(软件更新,附kali源列表)kali更新源(软件更新)源列表见文末(2019年10月5日更新)1.vim/etc/apt/sources.list文件添加如图内容,保存退出即可。2.刷新软件包列表apt-getupdate注:VMwareWorkstation中的虚拟机需要调成桥接或者NAT模式,保证虚拟机可以上网。…

    2022年5月8日
    150
  • 工厂三姐妹

    工厂三姐妹工厂三姐妹

    2022年4月24日
    59

发表回复

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

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