sql - 有没有办法在视图中使用动态 SQL?
问题描述
我有 5 个表和视图对。
例子:
- 表
dynamics.Customer
(100 列) - 查看
staging.CustomerView
(20 列)
CustomerView
是从staging.Customer
table 和其他 staging 表构建的,而不是dynamics.Customer
.
我想将所有行与存在的所有字段进行比较,staging.CustomerView
以dynamics.Customer
查看暂存是否发生了更改。我希望这在我的staging.CustomerView
.
由于我有 5 个表和视图对,因此我尝试使用动态 SQL 创建一个函数,该函数从暂存视图中获取所有行并将其与动态表进行比较。然后我从每个视图中调用该函数。我在执行该函数时出错,因为它使用了sp_executesql
.
有没有办法创建一个动态获取每一列并进行比较的函数?该视图在 Azure 数据工厂中用于将数据复制到 Dynamics365 中,并且由于性能原因,我只想插入/更新已更改的行。
解决方案
视图是强类型的,不能动态创建。
您可以编写触发器来记录更新时对另一个日志表的更改并查询该表。
推荐阅读
- git - 如何在 gitignore 中显示对项目的更改
- arrays - 找出可以被3整除的数
- c# - Linq GroupBy 属性范围
- ipc - 无法从另一个孩子读取一个孩子写入的共享内存
- c# - appsetting.json 如何在多个项目 .net 核心中工作?
- swift - 为什么我的 Swift Process() 启动路径会吐出“启动路径不可访问”?
- sql-server - SQL Server 中的 Begin & End 是否作为事务工作
- .htaccess - htaccess 301 重定向具有多个变量的 joomla URL
- mysql - Mysql 一对多表
- amazon-s3 - Terraform:将服务器日志记录添加到 S3 存储桶