我已经在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_contain
和exclude
。他们俩都返回ut_expectation_compound
,允许将方法调用像这样链接。
您可能需要阅读对象相关开发人员的指南,以获取对主题的介绍。另请阅读PLSQL语言参考 - 它应该为您有关PLSQL语法的大多数问题提供答案。