VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

SQL与PL/SQL语法

Vastbase G100兼容的Oracle SQL与PL/SQL语法如下:

  • 支持ORACLE的CREATE SEQUENCE语法。

  • 支持ORACLE的CREATE/ALTER DATABASE语法。

  • 支持ORACLE的CREATE/ALTER VIEW语法。

  • 支持ORACLE的CREATE TABLE语法。

  • 支持ORACLE的CREATE TABLESPACE语法。

  • 支持ALTER TABLE ADD CONSTRAINT USING INDEX语法。

  • 支持外连接运算符(+)。

  • 支持CONNECT BY…… START WITH ……查询。

  • 支持ROWNUM伪列。

  • 支持ROWID伪列。

  • 支持全局临时表。

  • 支持synonym。

  • 支持字段表达式创建索引:CREATE INDEX ON COLUMN_EXPR。

  • 支持ALTER TABLE…MODIFY修改表字段。

  • 支持VARCHAR、CHARACTER数据类型指定长度单位。

  • 支持TYPE/NAME/VERSION/VALUE/INTERVAL作为别名。

  • 支持ORACLE的存储过程语法。

  • 支持ORACLE的DATE数据类型。

  • 支持MERGE操作语法:

    MERGE [HINT] INTO table_name USING ({subquery | table_name | view_name}) alias ON (condition) merge_update_clause merge_insert_clause;
    
  • 支持时间间隔操作语法:

    INTERVAL YEAR TO MONTH,INTERVAL DAY (l) TO SECOND (P);
    
  • 支持存储过程游标语法:

    CURSOR cursor_name [ parameter_list ] IS select_statement, TYPE type_name IS REF CURSOR;
    
  • 支持修改会话属性:

    ALTER SESSION SET param_name = value;
    
  • 支持匿名块。

  • 支持存储过程跨模式访问。

  • 支持子查询不指定别名。

  • CREATE SEQUENCE支持NOCYCLE。

  • CREATE/ALTER USER语法中允许使用IDENTIFIED BY关键字替代PASSWORD关键字。

  • UPDATE SET语法中允许指定表名或别名修饰。

  • ALTER TABLE兼容MODIFY NOT NULL语法和ENABLE语法。

  • 空字符串和NULL等价。

  • 支持序列操作语法:sequence.CURRVAL,sequence.NEXTVAL。

  • 删除表记录语法中FROM关键字。

  • 支持数据类型INTERVAL与数字之间的运算操作:+、-、>、<、>=、<=、<>。

  • 兼容分区表的DML操作:SELECT、INSERT、UPDATE、DELETE。

  • 兼容CREATE/ALTER MATERIALIZED VIEW语法。

  • 兼容CREATE TYPE语法。

  • 兼容列约束的enable/disable语法。

  • 兼容FUNCTION定义。