从mysql到oracle你必须了解的50件事儿(2)

来源:Asp之家 时间:2010-08-05 14:36:00 

36. Oracle没有类似于非事务表的概念.大部分Oracle用户都认可这一点.

37. Oracle的临时表定义是持久的SQL对象,并且对所有用户都可见(此处应该理解成以此用户登陆的会话,Session).这一点与MySQL中使用的轻量级表有区别,在MySQL中,临时表是在单个会话内创建并销毁的.

Denish Patel

38. 在Oracle中,多个Alter Table操作不能在同一个SQL语句中执行,例如alter table emp modify name varchar(64) not null, add gender char(1) not null;

39. 默认情况下,Oracle不会自动提交.

40. KILL命令在Oracle中无效,它使用alter system kill命令.(不清楚第一个kill是什么概念,操作系统级别的kill,Oracle还是支持的,我经常使用).

41. Oracle在Order by语句中不支持使用减号(-).(不清楚这个具体的减号是什么东西).

42. Oracle的sqlplus命令行接口不支持高亮显示.

Roland Bouman

43. Oracle不支持group_concat或者类似的分组函数.需要你通过循环调取游标来实现,或者通过组合XMLAGG与XMLQUERY来实现你需要的查询.(在Oracle 9R2之后,可以使用自定义聚合函数来实现这个功能,到Oracle 11gR1之后,Oracle自己还提供了一个新的listagg分组函数来实现这个功能).

44. 对于count(distinct expression)函数,Oracle只支持一个表达式(要么一个列名,要么*),而Mysql支持一组表达式. (在Oracle中要实现一组表达式,可以通过使用子查询来实现).

45. Oracle对子查询的支持非常好.不要因为Mysql中的习惯而不去使用它.

46. Oracle不支持用户变量(@num).如果你需要利用它来计算运行时总和,可以利用分析函数(窗口函数)来实现.如果用用户变量来实现特定的汇总函数功能,你将发现Oracle已经有内置得功能支持这些功能.(另外在Oracle中,可以通过在package中应用dbms_session来设置context以实现用户变量).

47. Oracle没有区分TIME与DATE类型,Oracle的Date类型实际上就是一个DATETIME类型(但是比MySQL支持一个更大的日期范围).

48. 相对于MySQL来讲,Oracle的存储过程与触发器功能与性能都要好很多.不要习惯性地不去使用它们.

49. 如果需要在Oracle中编写存储过程,记得在开始编码前花点时间了解下Oracle是不是有相应的内置package.你将发现大部分问题已经解决掉了,或者至少大量的基础代码已经在那儿了.

50 如果你在MySQL中有使用BLOB类型或者TEXT类型,你可能会将他们迁移到Oracle地BLOB与CLOB中.然而,与MySQL不同,Oracle并不是透明地实体化这些数据.在大部分情况下,这确实是件好事情,但是它也意味着如果你只是想把BLOB/CLOB当作文本处理,你将需要花费大量琐碎的时间来使用LOB函数,在使用之初,LOB函数还是蛮让人气馁的.(LOB相关函数确实挺烦人,LOB的处理效率也非常差,即使是使用Oracle 11g的SecureFile).

标签:mysql,oracle,数据库
0
投稿

猜你喜欢

  • Python数据分析之真实IP请求Pandas详解

    2023-12-31 16:56:19
  • python中logging模块的一些简单用法的使用

    2023-08-12 09:28:17
  • python生成以及打开json、csv和txt文件的实例

    2023-08-05 10:44:49
  • python代理工具mitmproxy使用指南

    2021-06-17 14:15:31
  • Python 使用 Pillow 模块给图片添加文字水印的方法

    2022-06-13 04:13:37
  • python手机号前7位归属地爬虫代码实例

    2021-01-23 05:20:34
  • C#调用python脚本的方法步骤(2种)

    2021-11-12 02:44:09
  • 一文学会利用python解决文章付费限制问题

    2021-04-09 08:23:51
  • 利用python数据分析处理进行炒股实战行情

    2022-01-30 10:28:29
  • js实现本地图片文件拖拽效果

    2024-04-16 10:31:34
  • Django model反向关联名称的方法

    2021-03-06 17:21:28
  • JavaScript中的私有成员 Javascript教程

    2008-12-02 17:57:00
  • UI自动化定位常用实现方法代码示例

    2022-09-22 09:47:13
  • Django前后端分离csrf token获取方式

    2021-03-15 04:23:43
  • 详解python的super()的作用和原理

    2022-07-06 15:55:37
  • 教你用scrapy框架爬取豆瓣读书Top250的书类信息

    2022-11-04 12:48:23
  • pytorch使用-tensor的基本操作解读

    2022-05-23 03:15:12
  • SQL Server 2016 TempDb里的显著提升

    2024-01-24 17:15:47
  • VB.NET调用MySQL存储过程并获得返回值的方法

    2024-01-12 16:03:45
  • python自带缓存lru_cache用法及扩展的使用

    2022-06-16 08:48:15
  • asp之家 网络编程 m.aspxhome.com