注册
达梦数据库-错误码-[-5206]-分析处理
技术分享/ 文章详情 /

达梦数据库-错误码-[-5206]-分析处理

PYZ 2024/11/22 341 0 0

错误码:-5206
错误内容:没有找到运算符

原因:

sql或PL/SQL中存在未知运算符

示例:

Oracle可以通过**计算n的m次幂,迁移达梦后报错

declare n number := 5; m number := 2; begin dbms_output.enable(); dbms_output.put_line(n**m); end; / 执行失败(语句1) -5206: 第6 行附近出现错误: 没有找到运算符

问题处理:

方法1:使用函数替换原有运算符

declare n number := 5; m number := 2; begin dbms_output.enable(); dbms_output.put_line(cast(power(n,m) as number)); end; /

方法2.利用自定义函数创建自定义运算符

--创建自定义函数 CREATE OR REPLACE FUNCTION FUNC_POWER( C1 IN NUMBER, C2 IN NUMBER ) RETURN NUMBER AS BEGIN RETURN CAST(POWER(C1,C2) AS NUMBER); END; / --创建自定义运算符 CREATE OPERATOR ** (FUNCTION FUNC_POWER, LEFTARG NUMBER, RIGHTARG NUMBER); --原代码即可正常运行 [执行语句1]: declare n number := 5; m number := 2; begin dbms_output.enable(); dbms_output.put_line(n**m); end; 执行成功, 执行耗时0毫秒. 执行号:1029 25
评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服