检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
ecpg与Pro*C兼容性对比 ecpg是GaussDB提供的一种用于C语言程序的嵌入式SQL预处理器,与ORA数据库Pro*C预处理器在编译执行命令、语法、嵌入式语句等行为和语义上存在差异。 ecpg与Pro*C的相关使用差异对比: 目前ecpg不支持EXEC SQL CONTEXT
ecpg与Pro*C兼容性对比 ecpg是GaussDB提供的一种用于C语言程序的嵌入式SQL预处理器,与A数据库Pro*C预处理器在编译执行命令、语法、嵌入式语句等行为和语义上存在差异。 ecpg与Pro*C的相关使用差异对比: 目前ecpg不支持EXEC SQL CONTEXT
单行函数 序号 Oracle数据库 GaussDB数据库 1 数值函数 支持,有差异 2 返回字符值的字符函数 支持,有差异 3 返回数值的字符函数 支持,有差异 4 字符集函数 不支持 5 Collation函数 不支持 6 日期时间函数 支持,有差异 7 通用比较函数 支持,有差异
控制语句 表1 条件语句 序号 Oracle数据库 GaussDB数据库 1 IF THEN 支持 2 IF THEN ELSE 支持 3 IF THEN ELSIF 支持 4 simple CASE: CASE selector WHEN selector_value_1 THEN
格式模型 表1 格式 序号 Oracle数据库 GaussDB数据库 差异 1 数字格式 支持,有差异 GaussDB仅在参数a_format_version值为10c和a_format_dev_version值为s1的情况下,支持$、C、TM、TM9、TME、U格式。同时在该参数下,不支持TH、PL、SG格式。
PL/SQL基本语法 表1 PL/SQL操作符 序号 Oracle数据库 GaussDB数据库 1 + 支持 2 := 支持 3 => 支持 4 % 支持 5 ' 支持 6 . 支持 7 || 支持 8 / 支持 9 ** 不支持 10 ( 支持 11 ) 支持 12 : 支持 13
空值 表1 空值 序号 Oracle数据库 GaussDB数据库 1 IS NULL和IS NOT NULL 支持 2 NULLS in conditions 支持 父主题: SQL的基本元素
PL/SQL基本语法 表1 PL/SQL操作符 序号 Oracle数据库 GaussDB数据库 1 + 支持 2 := 支持 3 => 支持 4 % 支持 5 ' 支持 6 . 支持 7 || 支持 8 / 支持 9 ** 不支持 10 ( 支持 11 ) 支持 12 : 支持 13
注释 表1 comment 序号 Oracle数据库 GaussDB数据库 差异 1 斜杠和星号(/*) 支持 - 2 两个连字符(--) 支持 - 3 COMMENT命令 支持 - 4 HINT 支持,有差异 GaussDB不支持'--+'hint形式。 具体信息请参见《开发指南》中“SQL调优指南
GGERS、MY_TRIGGERS章节。 表5 Nested, Package, and Standalone Subprograms 兼容性 序号 Oracle数据库 GaussDB数据库 差异 1 nested subprogram(子块) 支持,有差异 GaussDB不支持重载。
静态SQL 表1 静态查询 SQL语句 序号 Oracle数据库 GaussDB数据库 差异 1 SELECT 支持,有差异 GaussDB和Oracle在某些场景下有不同。 GaussDB中不同事务中的共享锁在如下场景中不会互相阻塞: SELECT FOR SHARE - SELECT
动态SQL 表1 动态SQL语句执行方式 序号 Oracle数据库 GaussDB数据库 差异 1 EXECUTE IMMEDIATE 支持,有差异 GaussDB通过dynamic_sql_compat参数控制同名变量是否读取同一参数,并且检查调用存储过程时绑定参数出入参类型是否与语句参数类型一致。
动态SQL 表1 动态SQL语句执行方式 序号 Oracle数据库 GaussDB数据库 差异 1 EXECUTE IMMEDIATE 支持,有差异 GaussDB通过dynamic_sql_compat参数控制同名变量是否读取同一参数,并且检查调用存储过程时绑定参数出入参类型是否与语句参数类型一致。
ecpg与Pro*C兼容性对比 ecpg是GaussDB提供的一种用于C语言程序的嵌入式SQL预处理器,与ORA数据库Pro*C预处理器在编译执行命令、语法、嵌入式语句等行为和语义上存在差异。 ecpg与Pro*C的相关使用差异对比: 目前ecpg不支持EXEC SQL CONTEXT
数据类型 表1 数值类型 序号 Oracle数据库 GaussDB数据库 差异 1 NUMBER [ ( p [ , s ] ) ] 支持,有差异 精度和用法存在差异。 NUMBER带参数时,GaussDB的精度p与标度s的最大边界值比Oracle更大。 NUMBER不带参数时,
数据库对象 表1 schema对象 序号 Oracle数据库 GaussDB数据库 差异 1 分析视图 不支持 - 2 属性维度 不支持 - 3 集群 支持 - 4 约束 支持 - 5 数据库链接 支持 - 6 数据库触发器 支持 - 7 尺寸 支持 - 8 外部过程库 不支持 -
数据库对象 表1 schema对象 序号 Oracle数据库 GaussDB数据库 差异 1 分析视图 不支持 - 2 属性维度 不支持 - 3 集群 支持 - 4 约束 支持 - 5 数据库链接 支持 - 6 数据库触发器 支持 - 7 尺寸 支持 - 8 外部过程库 不支持 -
字面量 表1 字面量 序号 Oracle数据库 GaussDB数据库 1 文本字面量 支持 2 数值字面量 支持 3 日期时间字面量 支持 4 区间字面量 支持 父主题: SQL的基本元素
格式模型 表1 格式 序号 Oracle数据库 GaussDB数据库 差异 1 数字格式 支持,有差异 GaussDB仅在参数a_format_version值为10c和a_format_dev_version值为s1的情况下,支持$、C、TM、TM9、TME、U格式。同时在该参数下,不支持TH、PL、SG格式。
集合和Record 表1 类型 序号 Oracle数据库 GaussDB数据库 1 Associative array (or index-by table) 支持 2 VARRAY (variable-size array) 支持 3 Nested table 支持 4 record