检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
功能描述 声明一个游标用于迭代预备语句的结果集。该命令与SQL命令的DECLARE在语义上略有不同,后者执行查询并准备结果集以便检索,而嵌入式SQL命令只是将一个名称声明为“循环变量”并用于在查询的结果集上迭代,实际在使用OPEN命令打开游标时执行。 语法格式 DECLARE cursor_name
char(0))将空串转成char(0)类型。MySQL支持按长度转成对应的类型。 操作符 GaussDB能正常转成浮点型的字符串与整型值进行加、减、乘、除、求余计算,返回值是整型值,MySQL是返回浮点型。 GaussDB除以0会报错,MySQL返回null。 “~”:GaussDB返回负数,MySQL返回8字节无符号整数。
不自动提交,因此需要显式地发出COMMIT。这个命令可以把会话改成自动提交模式,这样每一个单独的语句都会被隐式提交。 语法格式 SET AUTOCOMMIT { = | TO } { ON | OFF } 父主题: 嵌入式SQL命令
加密函数 表1 加密函数列表 MySQL数据库 GaussDB数据库 差异 AES_DECRYPT() 支持 - AES_ENCRYPT() 支持 - 父主题: 系统函数
事务块中使用,MySQL无限制。 锁机制 锁机制 MySQL获取read锁后,当前会话无法进行写操作,M-Compatibility获取read锁后,当前会话可以进行写操作。 MySQL给表上锁后,读取其他表报错,M-Compatibility无限制。 MySQL同一会话中获取同
OPEN 功能描述 打开一个游标,并将实际值选择性地绑定到游标声明中的占位符。该游标必须事先使用DECLARE命令声明过。执行OPEN命令会触发在服务器上开始执行查询。 语法格式 OPEN cursor_name OPEN cursor_name USING value [, .
强制转换函数 表1 强制转换函数列表 MySQL数据库 GaussDB数据库 差异 CAST() 支持,存在差异 数据类型转换规则和支持的转换类型均以GaussDB支持的转换范围和规则为准。 CONVERT() 支持,存在差异 数据类型转换规则和支持的转换类型均以GaussDB支持的转换范围和规则为准。
63”。由转义字符引起的本函数与MySQL的差异,此为GaussDB与MySQL的转义字符差异。 str字符串中的“\b”,输出结果表现形式与MySQL有差异。此为GaussDB与MySQL的固有差异 str字符串中含有“\0”时,GaussDB由于UTF-8字符集不识别该字符,
TYPE 功能描述 定义一个新的数据类型。当运行带有-c选项的ecpg的时候,仅仅标识该命令。 语法格式 TYPE type_name IS ctype 参数说明 type_name 数据类型名称。 ctype C语言数据类型说明。 示例 EXEC SQL TYPE customer
DCL 表1 DCL语法兼容介绍 概述 详细语法说明 差异 SET NAMES指定COLLATE子句 SET [ SESSION | LOCAL ] NAMES {'charset_name' [COLLATE 'collation_name'] | DEFAULT}; Gaus
connection_name 通过CONNECT命令创建数据库连接名字。 示例 EXEC SQL SET CONNECTION TO con2; EXEC SQL SET CONNECTION = con1; 相关链接 CONNECT,DISCONECT 父主题: 嵌入式SQL命令
功能描述 将新的C数据类型分配给宿主变量。宿主变量必须预先在声明段声明。 对于VAR的用法需要谨慎。使用VAR语句后数据类型的变化可能会导致内存地址无效,从而导致数据变量无效,出现无法成功赋值的场景。 若在宿主变量声明段中确定好数据类型,则无须使用VAR语句。 语法格式 VAR varname
嵌入式SQL命令 ALLOCATE DESCRIPTOR CONNECT DEALLOCATE DESCRIPTOR DECLARE DESCRIBE DISCONECT EXECUTE IMMEDIATE GET DESCRIPTOR OPEN PREPARE SET AUTOCOMMIT
嵌入式SQL命令 ALLOCATE DESCRIPTOR CONNECT DEALLOCATE DESCRIPTOR DECLARE DESCRIBE DISCONECT EXECUTE IMMEDIATE GET DESCRIPTOR OPEN PREPARE SET AUTOCOMMIT
JSON数据类型 MySQL数据库 GaussDB数据库 差异 JSON 支持,存在差异 GaussDB数据库MySQL兼容性B模式中的JSON类型与GaussDB数据库原生的JSON类型行为一致,与MySQL行为差异较大,此处不再逐个列出。 GaussDB数据库MySQL兼容性B模式
功能描述 将新的C数据类型分配给宿主变量。宿主变量必须预先在声明段声明。 对于VAR的用法需要谨慎。使用VAR语句后数据类型的变化可能会导致内存地址无效,从而导致数据变量无效,出现无法成功赋值的场景。 若在宿主变量声明段中确定好数据类型,则无须使用VAR语句。 语法格式 VAR varname
]:通过TCP/IP连接。 SQL string constant:包含上述形式之一的值。 connection_name 用于该连接的一个可选标识符,可以在其他命令中引用它。可以是一个SQL标识符或者一个宿主变量。 connection_user 用于数据库连接的用户名。 使用user_name/password、user_name
不自动提交,因此需要显式地发出COMMIT。这个命令可以把会话改成自动提交模式,这样每一个单独的语句都会被隐式提交。 语法格式 SET AUTOCOMMIT { = | TO } { ON | OFF } 父主题: 嵌入式SQL命令
二进制数据类型 MySQL数据库 GaussDB数据库 差异 BINARY[(M)] 不支持 - VARBINARY(M) 不支持 - TINYBLOB 支持,存在差异 取值范围:GaussDB中该类型由BYTEA类型映射得来,长度不能超过1GB,超过长度限制后会报错。MySQL中该类型
RING或TIME其中一个时,GaussDB输出为TEXT类型,MySQL输出为VARCHAR类型。 两个入参类型其中一个为FLOAT4类型另一个为numeric范畴中任一类型,返回值为DOUBLE类型。MySQL其中一入参为FLOAT4,另一入参为TINYINT、UNSIGNED