我正在开发一种数据转换实用程序,它可以将数据从一个主数据库推送到多个不同的数据库。该实用程序本身不知道数据如何保存在目标(表结构)中,但我想提供编写一个 SQL 语句以使用具有多个连接语句的复杂 SQL 查询从目标返回数据。只要数据采用实用程序可以在 ADO 查询中识别(字段名称)的标准化格式。
然后我想做的是修改此 ADO 查询中的实时数据。但是,由于有多个连接语句,我不确定是否可以这样做。我至少知道使用 BDE(我从未使用过 BDE),它非常严格,您必须返回所有字段 (*) 等。我知道 ADO 更灵活,但我不知道在这种情况下有多灵活。
TADOQuery
当结果包含来自不同表的字段时,是否可以以这种方式修改数据?即使是这样,假设我想在末尾附加一条新记录(TADOQuery.Append
)。它会附加到两个不同的表吗?
我选择的实际主表有一个由相同主键字段连接的补充表,一个是“小”表(简要信息),另一个是“详细”表(每个记录的更多信息小桌子)。因此,一个典型的陈述将包括这样的内容:
select ts.record_uid, ts.SomeField, td.SomeOtherField from table_small ts
join table_detail td on td.record_uid = ts.record_uid
其他表中的记录还有许多其他连接,但我不担心附加到这些连接。我只担心同时附加到“小”和“详细”表。
在 ADO 查询中这样的事情可能吗?我愿意以任何必要的方式调整和修改 SQL 语句以使其成为可能。我有一种不好的感觉,虽然这是不可能的。
兼容性:
- SQL Server 2000 到 2008 R2
- 德尔福 XE2