SnowConvert AI - Object References Report

备注

内置元素不视为本报告的一部分。

什么是“对象引用”?

对象引用术语用于指源代码中由代码单元引用的 DDL 定义。下表显示了每种支持的语言中可以引用哪些元素。

Object

Teradata

Oracle

Transact-SQL

Redshift

BigQuery

Spark

Databricks

Hive

Vertica

PostgreSQL

Greenplum

Netezza

Azure Synapse

IBM DB2

Table

View

Procedure

Function

Macro

Package Function

Package Procedure

*Package

Join Index

Index

Synonym

Database Link

Type

Materialized View

Trigger

Sequence

Constraint

备注

如果上面部分列出了星号(“*”),则表示该对象用于从自身调用不被视为 DDL 语句的属性,例如常量、变量或游标。

我在哪里可以找到它?

对象引用报告可以在名为 "reports" 的文件夹中找到,该文件夹位于转换的输出文件夹中。文件本身的名称以 "ObjectReferences" 开头,因此可以轻松找到。

文件的格式为 .CSV

它包含什么信息?

对象引用报告包含有关转换时找到的所有引用的以下信息:

描述

PartitionKey

转换的唯一标识符。

FileName

对象所在文件的名称。

Caller_CodeUnit

引用现有元素的代码单元的类型。

Caller_CodeUnit_Database

引用现有元素的代码单元的数据库。目前,只有 SQL Server 对象可以拥有数据库。

Caller_CodeUnit_Schema

引用现有元素的代码单元的架构。

Caller_CodeUnit_Name

引用现有元素的代码单元的名称。

Caller_CodeUnit_FullName

引用现有元素的对象的完全限定名称。

Referenced_Element_Type

被引元素的 DDL 类型。

Referenced_Element_Database

被引元素的数据库。目前,只有 SQL Server 对象可以拥有数据库。

Referenced_Element_Schema

被引元素的架构。

Referenced_Element_Name

被引元素的名称。

Referenced_Element_FullName

被引元素的完全限定名称。

Line

引用所在文件内的行号。

Relation_Type

显示通过调用方代码单元和对象引用使用的关系的类型。

关系类型

The relation type represents how a caller code unit is related to an object reference. SnowConvert AI is able to identify the following kinds of relations:

  • FOREIGN KEY

  • INSERT

  • DELETE

  • UPDATE

  • CALL

  • EXECUTE

  • SYNONYM

  • ALTER

  • DROP

  • MERGE

  • TRUNCATE

  • LOCK

  • INDEX

  • TABLE COLUMN

  • GRANT

  • REVOKE

  • SELECT

    • COLUMN

    • FROM

    • WHERE

    • HAVING

    • GROUP BY

    • JOIN

    • ORDER BY

示例

  1. 通过 UPDATE 语句引用表的存储过程:

 CREATE TABLE TABLE2
(
  COL1 VARCHAR(50) NOT NULL,
  COL2 INT NOT NULL
);

CREATE OR REPLACE PROCEDURE Procedure01 (param1 NUMBER)
IS
BEGIN
    UPDATE TABLE2
    SET COL1 = 'Anderson'
    WHERE COL2 = param1;
END;
Copy

报告将显示类似下表的内容:

Caller_CodeUnitReferenced_Element_TypeReferenced_Element_FullNameLineRelation_Type
CREATE PROCEDURECREATE TABLETABLE210UPDATE
  1. 通过 FOREIGN KEY 引用另一个表的表:

 CREATE TABLE TABLE1
(
  COL1 INT
);

CREATE TABLE TABLE2 
(
  COL1 INT,
  CONSTRAINT FK_COL1 FOREIGN KEY (COL1)
    REFERENCES TABLE1(COL1)
);
Copy

报告将显示类似下表的内容:

Caller_CodeUnitReferenced_Element_TypeReferenced_Element_FullNameLineRelation_Type
CREATE TABLECREATE TABLETABLE110FOREIGN KEY
  1. 在 FROM 语句的 SELECT 子句中由视图引用的表:

 CREATE TABLE TABLE1
(
  COL1 INT
);

CREATE VIEW VIEW1 
AS
SELECT * FROM TABLE1;
Copy

报告将显示类似下表的内容:

Caller_CodeUnitReferenced_Element_TypeReferenced_Element_FullNameLineRelation_Type
CREATE VIEWCREATE TABLETABLE18SELECT - FROM
  1. 由视图作为结果集列引用的用户定义函数 (UDF)。

 CREATE FUNCTION FUNCTION1(PARAM1 INT) 
RETURN NUMBER 
IS
BEGIN  
  RETURN(PARAM1 + 1); 
END;

CREATE VIEW VIEW1
AS
SELECT FUNCTION1(*) FROM TABLE1;
Copy

报告将显示类似下表的内容:

Caller_CodeUnitReferenced_Element_TypeReferenced_Element_FullNameLineRelation_Type
CREATE VIEWCREATE FUNCTIONFUNCTION110SELECT - COLUMN
语言: 中文