问题标签 [sql-merge]

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 投票
1 回答
1064 浏览

sql - oracle sql多个新行合并到一个表中

我需要将新行插入到 oracle(12c) SQL 表中,前提是它们不存在使用 java 代码检查和插入的行可能超过 100 行

理想情况下,我希望有一个包含多个插入的合并语句,如下所示:

但我的语法有问题,我找不到这种情况的任何例子

我想知道:

  1. 如果这甚至可能
  2. 如果是,这是正确的方法还是有更好的解决方案
  3. 应该是什么语法(一些例子会很棒)
  4. 如果不可能,那么正确的方法是什么。

感谢帮助

0 投票
1 回答
1020 浏览

sql - oracle sql - 将带有嵌套表的表合并为列

我有 2 个表和一个嵌套表:

1.stores有关产品的数据,包括以下列:

2-带有新折扣的临时表包括列:

我需要做的是将表 2 合并到表 1 - 如果没有匹配插入则忽略(当匹配是:表 1 和 2 中的产品 id 匹配以及此产品子表 PROMOTIONID 匹配表 2 中的 PROMOTIONID)

到目前为止,这是我在嵌套部分遇到困难的地方 - ON 子句和 Insert 子句

我知道这是错误的,但我在任何地方都找不到怎么做

示例:价格表:

row1(1,50,...,nested_table[(11,...),(12,...)])

row2(2,50,...,nested_table[(10,...),(12,...)])

新促销表:

(15,1,...)

(11,1,...)

id 为 15 的新促销将添加到 row1 和 row2

并且不会添加 id 为 11 的促销

请帮忙,谢谢

0 投票
2 回答
104 浏览

sql - 在 SQL 中使用 MERGE

我有两个表 - T1,T2 具有相同的表结构。如果 T2 中不存在新行,我想从 T1 中插入 T2 中的新行,并且还更新 T2 中主键上的现有数据。有人可以帮助我使用 MERGE 的 SQL。

TIA

0 投票
2 回答
1255 浏览

mysql - 合并两个表而不重复

我需要将两个用户表合并为一个而不重复。

例如:在我的数据库中,我有表 en_user 和 kn_user 并且两者中都存在很少的用户,所以当我运行查询以将 kn_user 与 en_user 合并时,应将 kn_user 中存在的唯一用户复制到 en_user 中的用户不应出现在两者中被合并。

为了更好地理解我的表格

en_users 表

kn_user 表

所以当合并 kn_users 和 en_users 时需要这个输出

en_users 表

0 投票
1 回答
576 浏览

oracle - Oracle: Invalid identifier

I am using the following query in oracle. However, it gives an error saying that "c.par" in line 5 is an invalid parameter. No idea why. The columns exist. I checked. I have been struggling with this for a long time. All I want to do is to merge one table into another and update it using oracle. Could someone please help?

0 投票
2 回答
20670 浏览

sql-server - 在 TSQL-Merge 中条件匹配时更新和插入

我一直在尝试编写一个存储过程,我可以在其中使用带有以下条件的 Merge 执行 UpSert

  1. 如果记录存在,则将目标的结束日期更改为昨天,即现在 - 1

  2. 如果记录不存在,则插入新记录

这是我在 SP 中使用的表 tblEmployee

这是我的 SP,它以 UDTT 作为输入参数

当列匹配时,如何同时执行更新现有记录和添加新记录

请有人解释一下TSQL中合并的执行流程,即

每次合并中都会执行以上 3 个条件还是每次只执行匹配条件

提前致谢

0 投票
1 回答
964 浏览

sql - 在 SQL 合并中,如果 `when 不匹配并且` 失败

考虑以下内容merge

这不是一个非常困难的查询,但我需要用when matched and <condition>和 进行一些澄清when not matched

例如,在我的源表中,我有这样的记录:

假设目标表有一条非常相似的记录:

当合并语句运行时,它们是匹配项 ( tgt.id = src.id),但它们将不符合and条件 ( ('sha1', isnull(tgt.field, '')) != hash('sha1', isnull(src.field, '')).

示例中实际失败的是and条件而不是匹配本身。在这种情况下,会执行插入not matched by target吗?

0 投票
1 回答
1044 浏览

sql-server - 使用 MERGE 删除数据,或插入

从 UI 我将数据表传递给存储过程。该参数的类型是具有以下结构的用户定义表字段

这些数据需要入表,表中存在但数据表中不存在的数据应该被删除。

示例表数据

我的数据表有 2 行,一个匹配行和一个新行

示例数据表数据

结果是 456/B9 行应该被删除,123/A1 行应该没有任何反应,而应该插入 786/Z6 行。

我相信我可以使用 MERGE 语句,但我不确定如何形成它。

我知道当不匹配时我应该插入但删除部分在哪里进入?

编辑:为了清楚起见,数据表可以包含同一个人键的许多行,但组件键会不同。

示例数据表数据

示例表数据

插入上述数据表后的结果应该是

请注意,123/A1 已被删除,而 456/B9 仍在表中。

0 投票
1 回答
43 浏览

sql-server - 使用单个 SQL Server MERGE(来自 XML)更新表中的多个记录

是否可以使用 SQL Server 2012MERGE从 XML 流更新表中的多个记录?

我的表如下:

在此处输入图像描述

我每天几次收到以下 XML 信封:

我需要根据LocationIDXML 更新天气数据。我知道如何处理MERGE每条消息(位置),但我想知道是否有办法更新单个MERGE.

0 投票
2 回答
25940 浏览

sql - SQL 合并与目标不匹配与源不匹配

NOT MATCHED BY SOURCE vs 和有什么不一样NOT MATCHED BY TARGET

例如:

是否WHEN NOT MATCHED BY SOURCE意味着记录存在于目标中但不存在于源中?- 所以我们可以删除它们?

WHEN NOT MATCHED BY TARGET- 意味着记录存在于源中但不存在于目标中?所以我们可以插入它们?