sql-merge相关内容

DBMS级别的管道和过滤器:拆分合并输出流

方案 我们有一个非常标准的数据导入过程,在该过程中我们加载 staging表,然后MERGE将其放入target表。 新需求(绿色)涉及捕获导入数据的子集 放到单独的queue表中以进行完全无关的处理。 “挑战” (1)子集由以下记录的选择组成: 仅新插入target表。 (2)子集是一些插入列的投影,但也 至少有一列仅存在于源中(staging 表)。 (3)MERGE语句已使用 ..
发布时间:2022-02-26 16:31:45 数据库

MONO cs 的表值参数问题

我有一个简单的代码来为表值类型创建 SqlParameter.给定的代码适用于 .NET 4.0.问题在于 MONO CS (3.12.0),我不能简单地在 MONO 中编译相同的代码. static SqlParameter GetDataTableParam(string _tableName, DataTable _dt){SqlParameter tValue = new SqlPara ..
发布时间:2022-01-23 15:12:19 C#/.NET

SQL MERGE 语句中的 UPDATE-no-op

我有一个包含一些持久数据的表.现在,当我查询它时,我还有一个非常复杂的 CTE,它计算结果所需的值,我需要将缺失的行插入到持久表中.最后,我想选择由 CTE 标识的所有行组成的结果,但如果它们已经在表中,则包含表中的数据,并且我需要是否刚刚插入行的信息. 简化后的工作方式如下(如果您想尝试,以下代码将作为普通查询运行): -- 设置测试数据,这将是持久化表DECLARE @target T ..
发布时间:2022-01-17 20:51:43 其他开发

SQL Server 中非常大的表的 UPDATE 或 MERGE

我需要对非常大(3 亿条记录)和广泛的 TABLE1 执行每日更新.更新的源数据位于另一个表 UTABLE 中,该表是 TABLE1 行的 10%-25%,但很窄.两个表都有 record_id 作为主键. 目前,我正在使用以下方法重新创建 TABLE1: 1) SELECT (必填列) INTO TMP_TABLE1FROM TABLE1 T 在 T.record_id=U.record ..
发布时间:2022-01-17 20:31:32 其他开发

Teradata MERGE 通过 SQLAlchemy 执行时没有产生任何结果

我正在尝试使用 python 和 sqlalchemy 下载一些数据,在 Teradata 服务器上创建一个临时临时表,然后将该表合并到我创建的另一个表中以永久存储这些数据.我正在使用 sql = slqalchemy.text(merge) 和 td_engine.execute(sql) 其中 merge 是一个类似于下面的字符串: MERGE INTO perm_table as p使用 ..
发布时间:2021-12-30 14:30:35 Python

如何在 PostgreSQL 中 UPSERT (MERGE, INSERT ... ON DUPLICATE UPDATE)?

这里一个非常常见的问题是如何进行 upsert,这就是 MySQL 所说的 INSERT ... ON DUPLICATE UPDATE 并且标准支持作为 MERGE 操作. 鉴于 PostgreSQL 不直接支持它(在 pg 9.5 之前),你如何做到这一点?考虑以下几点: CREATE TABLE testtable (id 整数 PRIMARY KEY,一些数据文本非空);INSER ..
发布时间:2021-12-05 20:58:18 其他开发

具有外键并解决死锁的表上的SQL合并语句

我有两个MERGE语句,它们是在ADO.NET代码中的事务内执行的. 插入表时,将自动分配第一个表的ID. 第二个表确实具有外键约束,这就是为什么我在insert语句中具有此select的原因. 匹配实际上是基于某些自然键的,因为代理键不会在应用程序外部公开. MERGE语句如下. merge MyTable with (rowlock, updlock) as t usi ..
发布时间:2020-07-09 20:34:02 其他开发

合并语句和目标表上的触发器之后

我在目标表上有两个触发器(一个用于插入,一个用于更新). 现在,如果我在目标表上执行合并,则触发器仅执行一次.尽管merge语句执行大约300次更新和200次插入. 在删除触发器中的数据并将变量插入到记录中之后,我立即在每个触发器中使用打印语句对其进行了检查. 为什么?这是一个错误吗? 我有SQL Server 2008 sp1 std(SBS2k8的一部分). 解决方案 ..
发布时间:2020-07-09 20:33:53 其他开发

包含AUTO_INCREMENT列的MERGE INTO表

我已声明下表供审计触发器使用: CREATE TABLE audit_transaction_ids (id IDENTITY PRIMARY KEY, uuid VARCHAR UNIQUE NOT NULL, `time` TIMESTAMP NOT NULL); 触发器将在同一事务中被多次调用. 第一次调用触发器时,我希望它插入一个新的 具有当前TRANSACTION_ID( ..
发布时间:2020-07-09 20:33:51 其他开发

在SQL Server中,合并和合并联接是否相同?

SQL Server中的合并和合并联接有什么区别? 解决方案 MERGE 是DML语句(数据操作语言). 也称为UPSERT(更新插入). 它会尝试根据您定义的条件将源(表/视图/查询)与目标(表/可更新视图)进行匹配,然后根据匹配结果将行插入/更新/删除目标表中的行. br> 合并(Transact-SQL) create table src (i int, j int); c ..
发布时间:2020-07-09 20:32:37 其他开发

H2数据库中的Oracle MERGE语句

我们开始使用内存数据库中的H2进行自动化测试.我们使用Oracle进行生产和销售.开发环境.因此,我们的想法是在H2测试数据库中复制表结构,就像在我们的Oracle开发数据库中一样. Oracle SQL语句包括MERGE语句,并对表名和查询中的USING使用别名. 我如何动态修改此查询以使其与H2兼容,而又不会更改开发环境中的现有查询? 要与H2兼容的Oracle SQL示例 ..
发布时间:2020-07-09 20:31:35 其他开发

SQL MERGE到远程(链接)服务器表

是否可以在链接服务器的数据库表上使用SQL MERGE函数?最终目标是使远程表与我们的本地SQL Server表同步.我已经在线进行了一些研究,但是找不到任何相关信息.如果可能的话,如何设置源语句和目标语句? 解决方案 显然,我的研究还不够好,它在MSDN上说得很对: "target_table不能是远程表" ...这样就可以回答这个问题... ..
发布时间:2020-07-09 20:31:31 其他开发

SQL MERGE语句中的UPDATE-no-op

我有一个包含一些持久性数据的表.现在,当我查询它时,我还有一个相当复杂的CTE,它计算结果所需的值,并且需要在持久表中插入缺少的行.最后,我想选择一个结果,该结果由CTE标识的所有行组成,但要包含表中的数据(如果它们已经在表中),并且我需要有关是否已插入行的信息. 简化后,其工作方式如下(如果您愿意尝试,以下代码将作为普通查询运行): -- Set-up of test data, thi ..
发布时间:2020-07-09 20:30:17 其他开发