UTPLSQL高级数据比较中的点表示法



我已经在UTPLSQL网站上遇到了以下代码段。

procedure test_cur_skip_columns_eq is
  l_expected sys_refcursor;
  l_actual   sys_refcursor;
begin
  open l_expected for select 'text' ignore_me, d.* from user_tables d;
  open l_actual   for select sysdate "ADate",  d.* from user_tables d;
  ut.expect( l_actual ).to_equal( l_expected ).exclude( 'IGNORE_ME,ADate' );
end;
procedure test_cur_skip_columns_cn is
  l_expected sys_refcursor;
  l_actual   sys_refcursor;
begin
  open l_expected for select 'text' ignore_me, d.* from user_tables d where rownum = 1;
  open l_actual   for select sysdate "ADate",  d.* from user_tables d;
  ut.expect( l_actual ).to_contain( l_expected ).exclude( 'IGNORE_ME,ADate' );
end;

它具有此行的代码,带有DOT表示法ut.expect( l_actual ).to_contain( l_expected ).exclude( 'IGNORE_ME,ADate' );。我阅读了一些用于使用点符号的Oracle Docs,到处都在wode package_name.object_name或schema_name.table_name。但是上述代码行看起来并不像任何一个。我很想知道每个点之间的这些对象是什么。任何帮助都将不胜感激。

我很想知道每个点之间的这些对象是什么。

这些确实是oracle对象(又称用户定义的类型,又称抽象数据类型(。

ut.expect( l_actual ).to_contain( l_expected ).exclude( 'IGNORE_ME,ADate' );

这里发生了什么:

  • 软件包ut包含一个名为expect的函数,该功能返回类型ut_expectation_compound;
  • 的对象
  • ut_expectation_compound是定义两个成员函数的类型:to_containexclude。他们俩都返回ut_expectation_compound,允许将方法调用像这样链接。

您可能需要阅读对象相关开发人员的指南,以获取对主题的介绍。另请阅读PLSQL语言参考 - 它应该为您有关PLSQL语法的大多数问题提供答案。

最新更新