2 默认查询
对于关系源,PowerCenter Server 将在运行会话时为每个源限定符转换生成查询。对于每个在映射中使用的源列,默认查询均为 SELECT 语句。也就是说,PowerCenter Server 仅读取连接到另一个转换的列。
连接至源限定符转换的源定义
虽然源定义中有许多列,但是只有三列连接至另一个转换。在本例中,PowerCenter Server 将生成仅选择此三列的默认查询:
SELECT CUSTOMERS.CUSTOMER_ID, CUSTOMERS.COMPANY, CUSTOMERS.FIRST_NAME FROM CUSTOMERS
如果任何表名称或列名称包含数据库保留字,您可以创建和维护包含保留字的 reswords.txt 文件。PowerCenter Server 初始化会话时,会在 PowerCenter 安装目录中搜索 reswords.txt。如果文件存在,PowerCenter 在对数据库执行 SQL 时会在匹配的保留字周围加上引号。如果覆盖 SQL,您必须用引号将任何保留字括起来。
生成默认查询时,Designer 使用双引号分隔包含下列字符的表和字段名称:/ + - = ~ ` !% ^ & * ( ) [ ] { } ' ; ?, < > \ | <space>
查看默认查询
可以查看源限定符转换中的默认查询。
要查看默认查询:
1)从"属性"选项卡选择"SQL 查询"。 "SQL 编辑器"将显示。 2)单击"生成 SQL"。
SQL 编辑器将显示 PowerCenter Server 用于选择源数据的默认查询。
3)单击"取消"退出。
注: 如果不取消 SQL 查询,PowerCenter Server 将使用自定义 SQL 查询覆盖默认查询。
提示: 您必须将源限定符转换中的列连接至另一个转换或目标才能生成默认查询。
覆盖默认查询
通过更改转换属性的默认设置,您可以更改或覆盖源限定符转换中的默认查询。请勿更改所选端口的列表或它们在查询中出现的顺序。此列表必须匹配连接的转换输出端口。 当您编辑转换属性时,源限定符转换将在默认查询中包含这些设置。但是,如果您输入 SQL 查询,PowerCenter 将仅使用定义的 SQL 语句。SQL 查询将覆盖源限定符转换中的"用户定义的联接"、"源过滤器"、"已排序端口数"和"选择相异"设置。 注: 在覆盖默认 SQL 查询时,必须用引号将所有数据库保留字括起来。