当前位置: 首页 > 知识库问答 >
问题:

从函数调用dbms\u比较Oracle包

楚瑞
2023-03-14

我发布这个问题是因为我在尝试从oracle函数中使用dbms\U比较oracle包时遇到了一些错误。

我创建了一个函数,该函数应该返回执行的比较的scanID,以便能够从Java中检索scanID的值。但是,该函数没有成功执行,因为它引发了一些错误。dbms\u比较被识别为标识符,因此引发以下错误:PLS-00201:必须声明标识符“dbms\u比较”。

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

    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;

共有1个答案

景成和
2023-03-14

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

PLS-00201:必须声明标识符DBMS_COMPARISON。

因此,您必须在代码中添加sys。到dbms_comparison并需要向您的用户授予sys.dbms_comparison执行权限

 类似资料:
  • 问题内容: 我遇到了使用ojdbc14.jar从Java 1.6调用Oracle FUNCTION(不是存储过程)的问题。 我从远程服务器调用该函数时不知道该函数包含的内容,我所知道的是: 我需要使用的架构是:FCRLIVE.AP_CH_GET_ACCT_BALANCES 我正在尝试: 但是我一直在日志文件中看到这一点: 我称这个功能错了吗?或者这可能是什么? 在此先感谢您的帮助! 问题答案: 它

  • 尝试编写一些干净的JS排序函数。下面是我的模板中一个按钮的click处理程序,它调用各个方法按不同的属性排序。 它调用下面的方法。它的工作很好,这是很好的! 我遇到的问题是,我已经有了大约4个这样的排序方法,我想把if语句放入它们自己的函数中,以便更好地编写干巴巴的代码。所以我尝试了下面的方法,但是compareFunction甚至从来没有调用过GET。我做错了什么?

  • 本文向大家介绍MySQL与Oracle差异比较之三 函数,包括了MySQL与Oracle差异比较之三 函数的使用技巧和注意事项,需要的朋友参考一下 函数 编号 类别 ORACLE MYSQL 注释 1 数字函数 round(1.23456,4) round(1.23456,4) 一样: ORACLE:select round(1.23456,4) value from dual MYSQL:sel

  • 数据库管理系统(DBMS)和文件系统之间存在以下差异: 数据库管理系统(DBMS) 文件系统 DBMS是一组数据。在DBMS中,用户不需要编写过程。 文件系统是数据的集合。在该系统中,用户必须编写用于管理数据库的过程。 DBMS提供隐藏详细信息的数据的抽象视图。 文件系统提供数据表示和数据存储的详细信息。 DBMS提供崩溃恢复机制,即DBMS保护用户免受系统故障的影响。 文件系统没有崩溃机制,即,

  • 问题内容: 我需要一个函数来在两个字符串之间进行比较,而不必考虑oracle中的顺序。即“ asd”和“ sad”应被视为相等。有类似的功能吗?还是我需要编写自己的函数? 问题答案: 可以使用一个简单的Java函数按字母顺序对字符串的字符进行排序: 然后,您可以创建一个PL / SQL函数来调用: 然后,您可以对排序后的字符串进行简单比较:

  • 问题内容: 请有人帮忙…为什么查询不起作用.. ?? 问题答案: 在Oracle中,一个总有一个时间成分。您的客户端可能显示也可能不显示时间分量,但是当您尝试进行相等比较时,它仍然存在。您还总是希望将日期与日期而不是字符串进行比较,后者使用当前会话进行隐式转换,从而使它们相当脆弱。THat将涉及ANSI日期文字或显式调用 您可以使用该函数将截断到午夜 或者,您可以进行范围比较(如果您可以受益于的索