在 Oracle 数据库的数据血缘/数据沿袭分析过程中,我们会碰到 execute immediate SQL 语句。被 execute immediate 执行的语句通常以字符串的形式出现,例如:
BEGIN
execute immediate '
INSERT INTO small_orders
SELECT o.order_id oid, o.customer_id cid, o.order_total ottl,
o.sales_rep_id sid, c.credit_limit cl, c.cust_email cem
FROM orders o, customers c
WHERE o.customer_id = c.customer_id;
';
END
一个数据血缘/数据沿袭分析工具如果无法分析被 execute immediate 执行的语句,例如上例中的 insert 语句,那么一些关键的数据血缘关系将会被遗漏。Gudu SQLFlow 分析上面的 SQL 语句后,将给出下图的数据血缘/数据沿袭,保证了数据血缘关系的完整性。