首页 > 解决方案 > 有没有办法在视图中使用动态 SQL?

问题描述

我有 5 个表和视图对。

例子:

CustomerView是从staging.Customertable 和其他 staging 表构建的,而不是dynamics.Customer.

我想将所有行与存在的所有字段进行比较,staging.CustomerViewdynamics.Customer查看暂存是否发生了更改。我希望这在我的staging.CustomerView.

由于我有 5 个表和视图对,因此我尝试使用动态 SQL 创建一个函数,该函数从暂存视图中获取所有行并将其与动态表进行比较。然后我从每个视图中调用该函数。我在执行该函数时出错,因为它使用了sp_executesql.

有没有办法创建一个动态获取每一列并进行比较的函数?该视图在 Azure 数据工厂中用于将数据复制到 Dynamics365 中,并且由于性能原因,我只想插入/更新已更改的行。

标签: sqltsqlazure-sql-databaseazure-data-factory

解决方案


视图是强类型的,不能动态创建。

您可以编写触发器来记录更新时对另一个日志表的更改并查询该表。


推荐阅读