问题标签 [merge-statement]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
552 浏览

teradata - TPT 中的动态合并语句

我正在尝试使用 tpt 进行动态语句,但是每当我运行 tpt 时,都会出现以下错误

LOAD_OPERATOR:TPT10508:RDBMS 错误 2556:找到重复的匹配标记。(请参阅以下日志以获取更多详细信息)

日志文件

-------------------------------------------------- 2018 年 1 月 16 日星期二 20:09:57.38---------------------------------------------------- ---------------------

TPT 脚本

任何想法?

0 投票
0 回答
485 浏览

logging - 在使用合并语句 SQL Server 2008 R2 插入之前将受影响的行插入临时表

我创建了以下MERGE语句,它按预期工作。

不幸的是,由于新的要求,我需要修改这个合并语句。在通过语句插入/更新/删除之前MERGE,我需要将行捕获到第三个表中。用户审核后,我可以将更改推送到 TARGET 表。

MERGE声明可以做到这一点吗?

0 投票
1 回答
1879 浏览

sql-server - 为什么 MERGE 语句会抛出唯一键约束错误

我正在尝试在两个表(表 A 和表 B)之间运行合并语句。该语句应该更新记录是指定字段(名称)上存在匹配项,并且插入记录不存在匹配项。

当合并语句执行时,它会抛出以下错误:

合并语句、表 A、表 B 和所需结果如下:

合并声明

表 A

表 B

期望的结果(合并后的表 B - 一个新行)

0 投票
1 回答
590 浏览

tsql - T-SQL MERGE 语句未插入新记录 - 我的代码有什么问题?

下面的代码成功地更新了现有记录,但没有插入细节不匹配的新记录,我不明白为什么不作为代码编译并且不会抛出任何错误消息。我确定我错过了一些明显的东西。作为参考,我使用 SQL Server 2008 和区分大小写的排序规则,但我看不出这有什么不同。我还有其他 MERGE 案例可以正常工作,只是这一个不能很好地发挥作用。

要查看更新是否有效,请将 DEBUG 变量声明中的 colourid 修改为与插入语句中的值相同。

0 投票
0 回答
345 浏览

sql-server - 合并语句以在 Sql Server 中删除/更新/插入数据

我有一个包含数千行的 excel 文件,我需要用它来删除/更新/插入一些表。excel 提供以下数据:provider_idcountry_namelocaleproperty1property2。需要更新的表是: provider_country,列:provider_country_idprovider_idcountry_idproperty1property2provider_country_language,列:provider_country_language_idprovider_country_idlanguage_id. 我还可以将表country与列一起使用(用于连接):country_idcountry_name。以及带有列的表语言: language_idlocalecountry_id。需要更新的字段是 country_id、language_id、property1、property2(来自 provider_country 和 provider_country_language)

我用excel中的所有数据创建了一个临时表:

对于 provider_country_language,我计划进行另一个合并。

我正在尝试使用合并更新表,但我遇到了问题,因为我无法在此处进行唯一选择(不知何故,我也需要 language_id):

错误是:

MERGE 语句多次尝试更新或删除同一行。当目标行匹配多个源行时会发生这种情况。MERGE 语句不能多次 UPDATE/DELETE 目标表的同一行。优化 ON 子句以确保目标行最多匹配一个源行,或使用 GROUP BY 子句对源行进行分组。

我怎样才能完成这项工作并确保所有表都正确更新?(不一定使用合并)从性能的角度来看,最好的方法是什么?(只有 INSERT INTO 会被执行一千次......)

0 投票
0 回答
52 浏览

sql-server - 合并查询的更新语句不起作用

我有两个表 Application 和 Application_temp 。我编写了一个合并查询来将数据从 application_temp 合并到 application。但更新声明不起作用。查询再次插入整组记录而不是更新,我怀疑这一定是因为日期列,如果有人可以帮助我,那就太好了。

我尝试了谷歌的多个来源,没有任何帮助。尝试更改各种匹配条件但不起作用。

正如我所说,更新声明不起作用。任何 SQL Server 专家都可以。帮我解决这个问题?从上个月开始,我一直在挣扎。

0 投票
2 回答
95 浏览

sql-server - 使用存储过程中的合并将表 A 中的许多行更新为表 B 中的几行

我在表 1 上有这样的数据:在此处输入图像描述

IdT1 , IdT1组

11 , 30

12 , 30

13 , 30

并且在表 2 上喜欢:在此处输入图像描述

IdT2、IdT1、详细信息、同步

1 , 11 , A , 插入

2 , 11 , B , 插入

3、12、A、插

4、12、C、插

我有这样的 tblSource:在此处输入图像描述

IdT2,IdT1,详细信息

1、11、A

2、11、B

5、11、C

我从以下位置获得了 tblSource:

我希望我可以更新 Tbl2 成为:在此处输入图像描述

这是我用来得到我期望的代码:

但这就是我得到的:在此处输入图像描述

这段代码让我做一些试验:

0 投票
2 回答
1142 浏览

javascript - 合并语句和存储过程

我正在尝试使用Merge语句编写存储过程。它看起来像这样:

存储过程已创建,但如果我运行它,我会遇到一些语法错误。当我手动运行它(使用存储过程)时,转义字符被转义并且查询被执行。

这是我得到的错误

JavaScript 编译错误:未捕获的 SyntaxError:'var sql_cmd = 'Merge into database.events.groups et using'位置 14 处的 INSERT_GROUPS 中的令牌无效或意外

0 投票
1 回答
4215 浏览

google-bigquery - 合并语句的 BigQuery 等效项

我正在执行从 teradata 到大查询的迁移。我遇到了一个在 USING 子句中有 VALUES 的合并语句。

任何人都可以帮助我找到它的 BigQuery 等价物。

0 投票
1 回答
60 浏览

sql-server - 在 MERGE SQL 查询中遇到问题

我有一个要求,将临时表 stgTbl 中的数据插入/更新到另一个表 T2。如果存在更新,则无论有多少重复项。同样,如果不存在直接插入T2。很简单。由于登台表 stgTb1 是每天安排的作业。有时我也会得到多个重复的行。所以由于重复,合并语句产生错误:

“MERGE 语句多次尝试更新或删除同一行。当目标行匹配多个源行时会发生这种情况”。

我尝试了校验和,但仍然得到,因为我可能在校验和中做错了。两个表中都没有主键(我删除了,否则我会收到主键约束错误)。基于列(帐户和 ref_key2)应该与插入/更新一起使用。我也尝试过 if else with exists 但不知何故,如果目标表 T2 中有 0 条记录,这也不起作用。SQL 大师可以解决这个问题。欣赏他们的知识分享。