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。
在文档使用中是否遇到以下问题
更多建议
匿名提交