达梦数据库列字段是保留关键字导致的语法错误问题解决方案
达梦数据库保留关键字造成 SQL 语句无法执行。
·
达梦数据库版本:dm8_20240613_rev229704_x86_rh6_64
1、列字段是 DM 保留关键字导致的语法错误问题
1.1、问题现象
执行查询 SQL 语句:
SELECT sbs.admin AS systemDirector FROM sys_buz_system sbs;
报错:
第 1 行, 第 12 列[admin]附近出现错误[-2007]:
语法分析出错.
1.2、查询 SQL 中列名否是关键字,以"admin"为例
select keyword,reserved from v$reserved_words where keyword='ADMIN';
如果有结果输出则是关键字,需要屏蔽该关键字。
1.3、屏蔽关键字
执行下面的 SQL。
SP_SET_PARA_STRING_VALUE(2, 'EXCLUDE_RESERVED_WORDS','ADMIN');
1.4、重启 DM 服务
进入 DM 的安装目录的 bin
目录,执行:
./DmService restart
1.5、再次验证
select keyword,reserved from v$reserved_words where keyword='ADMIN';
如果没有结果输出则是关键字被成功屏蔽。
再次执行 SQL 能够正常查询。
更多推荐
已为社区贡献1条内容
所有评论(0)