问题标签 [sql-update]

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 投票
9 回答
42737 浏览

postgresql - 如何在 PostgreSQL 中进行大型非阻塞更新?

我想对 PostgreSQL 中的表进行大量更新,但我不需要在整个操作中维护事务完整性,因为我知道我正在更改的列在期间不会被写入或读取更新。我想知道psql 控制台中是否有一种简单的方法可以使这些类型的操作更快。

例如,假设我有一个名为“orders”的表,有 3500 万行,我想这样做:

为了避免被转移到离题的讨论上,我们假设 3500 万列的所有状态值当前都设置为相同的(非空)值,从而使索引无用。

这条语句的问题是它需要很长时间才能生效(仅仅因为锁定),并且所有更改的行都被锁定,直到整个更新完成。此更新可能需要 5 个小时,而类似

可能需要 1 分钟。超过 3500 万行,执行上述操作并将其分成 35 个块只需要 35 分钟,并为我节省 4 小时 25 分钟。

我可以用脚本进一步分解它(在这里使用伪代码):

此操作可能只需几分钟而不是 35 分钟即可完成。

所以这归结为我真正要问的。我不想每次我想做一个像这样的大的一次性更新时都写一个可怕的脚本来分解操作。有没有办法完全在 SQL 中完成我想要的?

0 投票
4 回答
2554 浏览

sql - 更新慢(主键)

当我在上面查询时,执行需要超过 10 分钟。

这有什么问题

Auditdata.ID是主键..

如果我运行更新命令是否也会更新索引???这是更新获取速度慢的原因吗

0 投票
4 回答
38353 浏览

sql - 如何在 SQL Server 中使用 Replace 更新多个列?

如何更新表中的不同列和行?我想做一些类似的事情来替换 SQL Server 中的字符串

我想这样做,但该值存在于同一类型的多个列中。这些值是员工表的外键 varchars。每列代表一个任务,因此同一员工可能被分配到记录中的多个任务,并且这些任务在记录之间会有所不同。我怎样才能有效地做到这一点?基本上可以替换整个表中不同列的所有内容。

感谢您的任何帮助或建议。

干杯,~ck 在圣地亚哥

0 投票
2 回答
655 浏览

sql - 从 SQL Server 转换 Oracle 中的更新 SQL

我正在尝试在 Oracle 中创建更新语句。这是 SQL Server 中的版本:

有两个表源表 counterID 是主键 dataTBL 表是 counterID 是外键 我正在尝试从 dataTBL 获取数据到源表。

如果有人帮助创建更新的 Oracle 版本,我将不胜感激。谢谢,更绿

0 投票
9 回答
500200 浏览

sql - 如何更新 sql server 中的前 100 条记录

我想更新 SQL Server 中的前 100 条记录。我有一个T1带有字段F1F2. T1有200条记录。我想更新F1前 100 条记录中的字段。如何根据TOP 100SQL Server 进行更新?

0 投票
3 回答
91059 浏览

mysql - 高级 MySql 查询:使用另一个表中的信息更新表

我想用另一个表中的数据更新 mySql 中的一个表。

我有两个表“人”和“业务”。人员表通过名为“business_id”的列链接到业务表。

必要的表结构,主键加星号(表:列):人员:*business_id,*sort_order,email 业务:*business_id,email

我想用来自人员表的电子邮件更新业务表电子邮件列,如下所示(我知道我在这里遗漏了一些东西):

这有意义吗?是否可以?

0 投票
8 回答
64393 浏览

sql - SQL Server 更新触发器,只获取修改的字段

我知道COLUMNS_UPDATED,我需要一些快速的捷径(如果有人做过,我已经在做一个了,但是如果有人能节省我的时间,我会很高兴的)

我基本上需要一个只包含更新列值的 XML,我需要这个用于复制目的。

SELECT * FROM inserted 给了我每一列,但我只需要更新的。

类似于以下...

0 投票
13 回答
1264699 浏览

mysql - MySQL - 基于 SELECT Query 的 UPDATE 查询

我需要检查(从同一张表中)两个事件之间是否存在基于日期时间的关联。

一组数据将包含某些事件的结束日期时间,另一组数据将包含其他事件的开始日期时间。

如果第一个事件在第二个事件之前完成,那么我想将它们链接起来。

到目前为止,我所拥有的是:

然后我加入他们:

然后,我可以根据我的 validation_check 字段运行一个嵌套了 SELECT 的 UPDATE 查询吗?

0 投票
6 回答
130590 浏览

sql - SQL 通过 SELECT 语句更新多个字段

这可行,但我想删除冗余。有没有办法将更新与单个选择语句合并,所以我不必使用 vars?

0 投票
1 回答
256 浏览

sql - SQL 更新查询

我有一个主表(说主表)和另一个临时表(说副本)。我想要做的是每个存储过程的平均值和标准偏差(有一堆以不同的版本号作为后缀,它们都必须被视为相同)从主表和更新 Temp 表的平均值和标准偏差为每个天。以下是我不工作的代码....

这根本不起作用。任何人都可以帮忙吗?或者可能会提出一些建议?