为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:dm8
【操作系统】:radhat8
【CPU】:x86
【问题描述】*:准备从mysql移植到dm,程序有使用视图功能,在达梦里面里面创建视图报错,dm视图功能不支持distinct,group by等函数吗?有没有什么解决办法。
sql语句:
SELECT a.contactUserId, a.userName, a.userType, a.LEVEL, CONCAT( '[', GROUP_CONCAT( DISTINCT '{"contactUserNumberId":"', b.contactUserNumberId, '", "userNumber":"', b.userNumber, '","numberType":"', b.numberType, '","numberDesc":"', COALESCE ( b.numberDesc, '' ), '"}' ORDER BY b.createTime ), ']' ) AS userNumbers FROM contact_user a LEFT JOIN contact_user_number b ON b.contactUserId = a.contactUserId GROUP BY a.contactUserId
dm视图功能支持distinct,group by函数的。
创建视图报错可能是mysql与dm的sql语法不大相同导致,可以把根据报错信息将相关语句改成适配达梦的语法结构。
发出代码示例出来,到底是哪种格式的
开启兼容mysql的参数试试:
SP_SET_PARA_VALUE(2,‘COMPATIBLE_MODE’,4);
执行完成后需要重启数据库生效