如何建立自引用表

2023-11-30

在源表中,有两列,如下快照所示:

enter image description here

那么对于目标表,它应该是这样的:

enter image description here

(“DimLocationKey”是自动生成的代理键)

如何在SSIS中实现自引用效果?我尝试了以下方法,但它不起作用,因为查找中没有匹配项。

enter image description here


如果该列可为空,则您可以加载 location_ID 的唯一值,然后让辅助进程返回并负责更新现有的并可能添加新的。

Pass 1

1 NULL A NULL
2 NULL B NULL 
3 NULL C NULL
4 NULL D NULL

我想如果它不可为空,那么您可以在数据流中预先计算这些 id 并将当前行和父级分配给它们自己。作为一名开发人员,我可能会因此讨厌你;)

Pass 2

此时,问题就变成了表中应该有 8 行还是 4 行(无论源数据指示什么)。这成为商业用户的一个问题,被适当地“简化”。我在我的层级问题中看到了这两个答案——“总统向谁汇报?”在一个地方,总统不向任何人报告,这意味着费用请求会自动获得批准。不同的地方是首席执行官向自己汇报,这意味着他们的费用报告仍然必须由他们自己批准。我想这是为了确保他们有行政责任,因为没有什么是自动的。

如果答案是 8 行,那么您的数据流看起来就差不多了。如果是 4,那么您将使用现有数据流,但更新行。如果它是一小部分行(数百行),那么您可以使用 OLEDB 命令并编写更新语句。只需意识到它将为命中该组件的每一行发出一个 UPDATE 语句。这可能会使您的处理陷入停滞,因为效率极低。

更有效的更新途径是使用 OLE DB 目标,并在数据流完成后让执行 SQL 任务发出基于集合的 UPDATE 语句。参见安迪伦纳德的集成服务的阶梯系列中有一个关于如何执行此操作的写得很好的示例。

如果它不可为空并且不允许节点引用自身,那么您的数据模型似乎没有准确描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何建立自引用表 的相关文章

  • Error" ...非错误输出上的 OLE DB Source.Outputs[OLE DB Source Output].Columns[XXXXXXXX] 没有对应的输出

    我花了几个小时试图解决这个问题 对于给我带来问题的列 我在 sql server 中使用标量函数来获取名称 该功能是正确的并且工作正常 然后我使用一个存储过程与 ssis 一起使用 给我错误的列指出它在错误输出上没有相应的输出列 一切似乎都
  • 调试 SSIS 包 - debug.writeline

    SSIS 中的调试体验不是我所期望的 我有一个脚本任务 我添加了一个Imports System Diagnostics在类的标题处 在代码中我有各种 debug writeline 尝试移动文件 类型的消息 但是 它们没有显示在输出窗口中
  • 使用执行 SQL 任务的参数映射

    我正在尝试创建一个临时表并将数据插入到 foreach 循环容器内的执行 SQL 任务内的临时表中 这是sql任务 IF OBJECT ID TEMPDB DBO TEMP IS NOT NULL DROP TABLE TEMP GO CR
  • 从事务性平面数据库填充事实表和维度表的最佳实践

    我想在 SSIS SSAS 中填充星型模式 多维数据集 我准备了所有维度表和事实表 主键等 源是一个 平面 项目级别 表 我现在的问题是如何拆分它 并将其从一个放入相应的表中 我做了一些谷歌搜索 但找不到令人满意的解决方案 人们会认为这是
  • SSIS Excel 目标空白

    我正在调试一个 SSIS 包 该包从 SQL Server 数据开始 对其进行转换 然后将其放入 Excel 文件中 我在工作中经常这样做 以前从未遇到过这个问题 Excel 文件中没有写入任何行 我将数据查看器附加到通向 Excel 目标
  • 如何跟踪 SSIS 数据流任务中成功处理或失败的行的状态?

    我有一个非常简单的数据流任务从 FF 读取数据并将数据插入表中 同时我想在审计表中写入 插入了多少行 创建日期 我怎样才能轻松做到这一点 如果您只对成功处理的行数或遇到错误的行数感兴趣 那么您可以使用内置的SSIS logging特征 请检
  • 如何将系统变量值传递给执行 SQL 任务中的 SQL 语句?

    SSIS 2008 非常简单的任务 我想检索系统变量并在 SQL INSERT 中使用它 我想检索的值System MachineName并在插入语句中使用它 使用声明INSERT INTO MYLOG COL1 SELECT System
  • 使用 biml 分配属性以执行包任务 ssis 对象

    使用 biml 通过 Visual Studio 中的 BIDS 帮助程序 如何为 SSIS 2008 执行包任务对象的属性赋值 特别是 位置 SQL Server 连接 SomeConnectionString 使用 BIML 我已经搜索
  • 如何使用 Fitch 系统证明 ((p ⇒ q) ⇒ p) ⇒ p

    仅供参考 我使用的逻辑程序无法进行矛盾引入 这一点很可能是无关紧要的 因为我非常怀疑我是否需要使用任何形式的矛盾来证明这一点 在尝试解决这个问题时 我首先假设 p q p 它是否正确 如果是这样 接下来怎么办 如果解决方案看起来如此明显 请
  • 创建 SSIS 包 - 将数据从 Oracle 复制到 SQL Server

    我想编写一个 SSIS 包 用于将数据从 Oracle 复制到 MS Sql 服务器 而且条件是 通过在 SQL 中选择一个表 就可以知道哪些数据必须从 oracle 移动到 SQL 基本上 如果 SQL Server 中的该表中没有该值
  • Netezza 使用 SSIS 从 Sql 服务器增量加载

    我正在尝试使用 SSIS 从 Sql server 2008 到 Netezza Nps6 进行增量加载 使用 Netezza 5 x 版本 OLEDB 驱动程序 我在用Table or View Fast Load选项与Maximum i
  • 检查数据库是否存在并且当前登录可以访问

    我知道我可以使用 检查数据库是否存在 SELECT FROM sys databases WHERE name database name or SELECT DB ID database name 无论当前登录是否有权访问 都可以执行此检
  • 根据单元格位置将选择性字段从 Excel 批量插入到 SQL

    我有一个 SSIS 包 我必须从 Excel 工作表中选择一些值并将它们插入到 SQL Server 数据库表中 我是通过执行 sql 任务来完成的 这些是步骤 从映射表中选择所有记录 单元格位置是动态的 因此将其保留在 SQL 表中 大约
  • SSIS - 删除行

    我是 SSIS 新手 需要这方面的帮助 我找到了一个article http consultingblogs emc com jamiethomson archive 2006 09 12 SSIS 3A00 Checking if a r
  • Foreach 循环编辑器中缺少枚举器

    我在一台新笔记本电脑上 在 Visual Studio 2015 中的 SQL Server Integration Services 包上工作 在以前版本的 Visual Studio 中 枚举器配置部分中有几个选项 如下所示 在 VS
  • 将文件名存储在变量中并在 SSIS 中使用该文件名创建表

    我在 SSIS 的一个文件夹中只有几个 excel 源文件 我想从这些 Excel 文件中提取数据并加载到 SQL 表中 我的问题是我想一一保存所有文件名 并想创建与文件名完全相同的 SQL 表 然后要加载相应表中的每个Excel文件 请帮
  • 过早退出 Qualtrics 中的循环和合并块

    我目前正在进行一项 Qualtrics 调查 受访者必须解决一长串字谜问题 然后回答一些人口统计问题 为了使变位词部分更容易 我使用了循环和合并块 第一个字段是要解决的变位词 第二个字段是变位词的解决方案 因此调查可以根据受访者的答案来检查
  • 访问 SSIS 脚本任务静态构造函数中的可配置值

    我有一个 SSIS 包 其中包含需要第 3 方程序集的脚本任务 由于不允许我将此程序集放置在 SSIS 服务器上的 GAC 中 因此我在运行时在脚本任务的静态构造函数中绑定该程序集 这article https blogs msdn mic
  • 如何修复 SSIS“文件/进程不在路径中”警告?

    SSIS 附带了许多解决数据获取和集成问题的任务 但它缺少的一项任务是用于通过 HTTP 下载文件的 HTTP 任务 为了解决这个问题 我安装了Wget http gnuwin32 sourceforge net packages wget
  • 从 PowerShell 运行 SSIS 包,无需部署项目

    This https learn microsoft com en us sql integration services ssis quickstart run powershell view sql server ver16 ssis

随机推荐

  • 限制 NSURLConnection 数据速率? (带宽限制)

    有没有办法限制 NSURLConnection 使用的带宽 或者我被迫使用 CFNetwork 方法 是的 但它并不漂亮 它的工作原理是这个邮件列表帖子 在后台线程上启动 NSURLConnection 您必须设置一个运行循环 睡个懒觉 c
  • 从 SourceSafe 迁移到 ClearCase 的最佳方式是什么?

    我们目前有一个丰富的 SourceSafe DB 里面有十年的代码 我们正在寻找一种简单且稳定的方法来将所有这些导入到新的 Clearcase Jazz 环境中 执行此操作的最佳方法是什么 是否有任何工具可以自动执行此操作 我知道这并不能直
  • Laravel - Sendgrid smtp 错误“不允许 550 未经身份验证的发件人”

    我正在关注使用 smtp 集成 Laravel Sendgrid发送电子邮件 我按照文档所述操作 所有凭据都与我的 sendgrid 凭据相同 但每当我尝试使用发送电子邮件时 Mail send mails demo data functi
  • 我应该如何让 Xcode 链接使用 C++ 静态库的 iOS 项目

    使用 Xcode 我编写了一个 Cocoa Touch 静态库 主要是用 C 编写的 它公开了一个 C 接口 以方便 Objective C 客户端代码 我有一个使用它的客户端 iOS 应用程序 一切都按预期运行 除了我发现我需要包含一个最
  • 拖放:通过使用 copyArrayItem(),拖放的项目不应从开始数组中删除,同时放置 Angular 8

    我有一个项目列表 我可以从其中拖动项目并将其放入另一个列表中 我在用着复制数组项 Angular 中的方法不从前一个数组中删除该项目 我开始拖动 该项目位于前一个数组中 该项目的占位符显示出来 开始拖动 占位符出现 我要离开之前的数组 占位
  • 以最快的方式使用数组索引按降序打印矩阵的排序元素

    这似乎是一个简单的问题 但我在快速完成此任务时遇到困难 假设我有一个矩阵 我想对该矩阵进行排序并按降序存储元素的索引 有没有快速的方法来做到这一点 现在 我正在提取最大值 存储结果 将其更改为 2 然后在 for 循环中提取下一个最大值 这
  • 分页在 DRF APIView 中不起作用

    我在用APIView用于获取和发布项目 我想使用 Django Rest Framework 为我的 API 实现分页 但它不起作用 我想每页显示 10 个项目 但是当我这样做时api v1 items page 1 我得到了所有的物品 如
  • 在编写插件时,如何排除 leiningen 引入的依赖项?

    我正在为 Leiningen 编写一个自定义插件 它将有助于部署用 Clojure 编写的 AWS Lambda 函数 我在用着aws java sdk lambda版本1 11 145它依赖于杰克逊2 6 x 具体来说2 6 5 IIRC
  • Azure 会自动更改数据库的定价层吗?

    我在 Azure 中创建了一个 Web 应用程序 DB 并将我的 ASP NET API 部署到其中 对于 SQL 数据库 我选择了 免费计划 现在 经过几天的 API 运行 仅编写了十几个数据集并进行了大约 30 个 API 调用 Azu
  • 从非静态方法构建静态委托

    我需要创建一个类的非静态方法的委托 复杂的是 在创建时我没有类的实例 只有它的类定义 在通话时 我手头确实有实例 因此我需要一种方法 构建一个 不完整 的委托给成员方法 缺少实例 从 1 开始调用委托 显式传递类的实例 这两种都可能吗 如何
  • 为什么一个页面不能包含多个服务器端表单标签?

    我想知道为什么asp net不允许这样做 很多页面包含超过 1 个表单 登录 注册表单 搜索 其他表单等等 所以我的猜测是 我可以将一种形式与精细的 oop asp net 对象相关联 而另一种形式与纯 html 相关联 并且我必须以两种完
  • Rails 3 将错误发送到电子邮件

    如何劫持 Rails 3 错误处理以通过电子邮件发送错误并提供完整的跟踪信息 Rails 异常通知程序插件https github com smartinez87 exception notification
  • Powerpoint VBA 宏复制对象的大小和位置并粘贴到另一个对象

    刚刚从 Windows 切换到 Mac 在 Windows 上的 ppt 中 我有一个插件 允许我复制对象的属性 包括大小和 或位置 并将其粘贴到另一个对象 有点像高级格式画家 可以切换您的属性我想复制 我不再有这个插件 但我非常想创建一个
  • SVG。使用 css 反转图像。将图像保留在同一位置

    这是一个代码笔示例https codepen io yury leonov pen rZxxQE 示例中的代码 example on click function e e target toggleClass reverse reverse
  • 为什么带有 __weak 限定符的变量保留一个对象?

    这是我的代码 extern void objc autoreleasePoolPrint int main int argc const char argv NSArray weak tmp nil autoreleasepool NSAr
  • E/RecyclerView:未连接适配器;跳过布局(使用 FRAGMENTS)

    我根据我找到的类似问题的答案修改了我的代码 但没有一个起作用 我正在使用 TabFragments 和 RecyclerViews 控制台显示错误 E RecyclerView 未连接适配器 跳过布局 四次 修改它时也给了我错误 java
  • 使用 cfprocparam 将数组或列表导入 Oracle

    我有一个值列表 想通过存储过程插入到表中 我想我会将一个数组传递给 Oracle 并循环访问该数组 但我不知道如何将数组传递给 Oracle 我会传递一个列表 但我不知道如何使用该列表将其转换为使用 PL SQL 的数组 我对 PL SQL
  • 使用 React hooks 在 REACTJS 中使用数组填充动态下拉列表的步骤

    请原谅我缺乏知识 因为我对 ReactJS 还很陌生 我正在尝试创建一个动态下拉系统 其中有国家下拉菜单和城市下拉菜单 并且我想从其中包含多个数组的 const 中获取数据 这是我拥有的 const 的示例 const countries
  • 如何为iphone 3.0编译pjsip

    我一直在尝试为 iphone 3 0 编译 pjsip 但一直无法做到 我尝试遵循 siphon 和 voiphone 使用 pjsip 的开源 iphone 项目 的指南 显然我不是唯一一个无法为 iphone 3 0 编译 pjsip
  • 如何建立自引用表

    在源表中 有两列 如下快照所示 那么对于目标表 它应该是这样的 DimLocationKey 是自动生成的代理键 如何在SSIS中实现自引用效果 我尝试了以下方法 但它不起作用 因为查找中没有匹配项 如果该列可为空 则您可以加载 locat