Моим требованием было сравнение столбцов, данных и ограничений двух таблиц с использованием utPLSQL.я выполнил свое требование, используя родные refcursors.
Для сравнения данных:
OPEN p_store FOR SELECT * FROM customers@dblink2;
OPEN p_store2 FOR SELECT * FROM customers2@dblink2;
ut.expect(p_store).to_equal(p_store2);
Для сравнения столбцов:
OPEN p_store FOR
SELECT
A.COLUMN_NAME,
A.DATA_TYPE,
A.DATA_LENGTH
FROM
(SELECT * FROM USER_TAB_COLUMNS@dblink2 WHERE TABLE_NAME = 'CUSTOMERS') A;
OPEN p_store2 FOR
SELECT
B.COLUMN_NAME,
B.DATA_TYPE,
B.DATA_LENGTH
FROM
(SELECT * FROM user_tab_columns@dblink2 WHERE table_name = 'CUSTOMERS') B;
ut.expect(p_store).to_equal(p_store2);
Я использовал utPLSQL V3.Если вы используете v2, тогда можно использовать utassert.eqtable .