有没有一种方法可以在视图中使用动态SQL?

时间:2020-09-10 18:23:37

标签: sql tsql azure-sql-database azure-data-factory

我有5个表和视图对。

示例:

  • dynamics.Customer(100列)
  • 查看staging.CustomerView(20列)

CustomerView是根据staging.Customer表和其他登台表而不是dynamics.Customer构建的。

我想将staging.CustomerViewdynamics.Customer中存在的所有行与所有字段进行比较,以查看是否已更改了登台。我希望将其显示为staging.CustomerView中的一列。

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

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

1 个答案:

答案 0 :(得分:0)

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

您可以编写触发器,该触发器将更新中的更改记录到另一个日志表中并查询该表。