全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 钉钉智能硬件

OceanBase SQL快速概览

更新时间:2017-06-07 13:26:11

OceanBase支持SQL 92与兼容MySQL, 原则上只要是MySQL的语法,OceanBase都能运行,本节列出一些尚不支持的功能以及需要注意的地方。

尚不支持的功能

  • 不支持可更新视图、存储过程、触发器、游标。
  • 不支持用户自定义数据类型、自定义函数。
  • 不支持某些数据类型,比如不支持blob、text、enum、set。
  • 不支持临时表。
  • 分区表不支持分区管理。
  • 不支持load data。
  • 不支持select … into。
  • 不支类似IF,WHILE等流程控制类语句;不支持类似BEGIN…END,LOOP…END LOOP,REPEAT…UNTIL…END REPEAT, WHILE…DO…END WHILE等复合语句。
  • 分区表不支持INSERT/REPLACE语句中的带SELECT子句的修改。
  • 不支持DELETE语句多表删除,不支持UPDATE多表更新。
  • SELECT…FOR UPDATE只支持单表查询。
  • 某些函数不支持,具体支持函数请参考函数章节。
  • 不支持alter add column before|after。
  • 不支持某些列类型的变更,比如从varchar变更为int。

需要注意的点

  • 如果你的表使用了分区,则有可能被分布到多台单独的物理机上(目前公测规格不会)。
  • insert/update/delete单条语句不能跨分区,如果有跨分区的需求,需要写成事务。
  • 一般来说,select需要带上分区键。
  • 不支持prepare, OceanBase不需要你使用prepare。
  • 字符集目前只支持utf8和utf8mb4。
本文导读目录