首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从函数调用dbms_comparison Oracle包

从函数调用dbms_comparison Oracle包
EN

Stack Overflow用户
提问于 2016-07-04 20:03:35
回答 1查看 1.3K关注 0票数 1

当我试图从dbms_comparison函数中使用oracle时,我发布了这个问题,因为我遇到了一些错误。

我创建了一个函数,该函数应该返回所执行的比较的scanID,以便能够从Java检索扫描I的值。但是,该函数没有成功执行,因为它会引发一些错误。dbms_comparison被识别为标识符,因此它会引发以下错误: PLS-00201:标识符'DBMS_COMPARISON‘必须声明。

请在我创建的Oracle函数下面找到。任何帮助都将不胜感激。

代码语言:javascript
复制
    CREATE OR REPLACE FUNCTION compareRecords
    RETURN NUMBER IS
    scanID number;
    v_scan_info dbms_comparison.comparison_type;
    v_compare_result boolean;
    begin
         v_compare_result:= dbms_comparison.compare(
                         comparison_name => 'synchronised',
                         scan_info => v_scan_info,        
                         perform_row_dif => TRUE);

    dbms_output.put_line('Scan id: '||v_scan_info.scan_id);
    scanID := v_scan_info.scan_id;

    if v_compare_result = TRUE then
       dbms_output.put_line(a => 'Tables are synchronized!');
    else
       dbms_output.put_line(a => 'Warning! Data divergence found!'||chr(10));
    end if;
    RETURN scanID;
end compareRecords;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-04 23:17:19

我将您的代码作为sys进行了测试,并成功编译。当另一个用户失败时,

请-00201:标识符'DBMS_COMPARISON‘必须声明。

因此,您必须将代码sys.添加到dbms_comparison,需要添加到grant execute on sys.dbms_comparison to youruser

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38191547

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档