`
bestxiaok
  • 浏览: 452444 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

update 多表更新

阅读更多
在开发中,数据库来回换,而有些关键性的语法又各不相同,这是一件让开发人员很头痛的事情.本文总结了Update语句更新多表时在SQL Server,Oracle,MySQL三种数据库中的用法.我也试了SQLite数据库,都没成功,不知是不支持多表更新还是咋的.
在本例中: 我们要用表gdqlpj中的gqdltks,bztks字段数据去更新landleveldata中的同字段名的数据,条件是当landleveldata 中的GEO_Code字段值与gdqlpj中的lxqdm字段值相等时进行更新.
SQL Server语法:UPDATE { table_name WITH ( < table_hint_limited > [ ...n ] ) | view_name | rowset_function_limited } SET { column_name = { expression | DEFAULT | NULL } | @variable = expression | @variable = column = expression } [ ,...n ] { { [ FROM { < table_source > } [ ,...n ] ] [ WHERE < search_condition > ] } | [ WHERE CURRENT OF { { [ GLOBAL ] cursor_name } | cursor_variable_name } ] } [ OPTION ( < query_hint > [ ,...n ] ) ]
SQL Server示例: update a set a.gqdltks=b.gqdltks,a.bztks=b.bztks from landleveldata a,gdqlpj b where a.GEO_Code=b.lxqdm

Oracle语法: UPDATE updatedtable SET (col_name1[,col_name2...])= (SELECT col_name1,[,col_name2...] FROM srctable [WHERE where_definition])
Oracel 示例: update landleveldata a set (a.gqdltks, a.bztks)= (select b.gqdltks, b.bztks from gdqlpj b where a.GEO_Code=b.lxqdm)

MySQL语法: UPDATE table_references SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE where_definition]
MySQL 示例: update landleveldata a, gdqlpj b set a.gqdltks= b.gqdltks, a.bztks= b.bztks where a.GEO_Code=b.lxqdm

有A、B张表,其记录如下:
A表
c1       c2
--------------
1 a1
2 a2
3 a3
8 a8
B表
c1       c3
--------------
1 b1
2 b1
3 b3
10 b10
A.c1与B.c1相等,用一条sql语句,实现A.c2的值更新为B.c3
------------------------
UPDATE    A
SET A.c2 =B.c3
from A ,B
where A.c1=B.c1
UPDATE    A
SET A.c2 =B.c3
from A inner join B on A.c1=B.c1
注意:update后面是不能跟多表的,但跟在from子句后面

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    ORACLE多表关联的update语句

    在Oracle数据库中,多表关联的UPDATE语句用于更新一个表中的数据,这些数据依赖于另一个或多个表的记录。这种操作在数据整合、错误修正或者数据同步时非常常见。以下我们将详细探讨如何使用不同方式执行多表关联的...

    ORACLE_多表关联_UPDATE_语句

    Oracle数据库中的多表关联UPDATE语句是用于在一个表中更新数据时,依据另一个表的条件进行操作的关键技术。这在处理复杂的数据同步或修正场景时非常有用。在本例中,我们将探讨如何利用多表关联来更新数据,并通过...

    VB 利用UPDATE语句批量更新数据表中的数据

    在本教程中,我们将专注于“利用UPDATE语句批量更新数据表中的数据”这一主题。UPDATE语句是SQL语言的一个重要部分,用于修改已存在于数据库表中的记录。在VB中,我们可以结合ADO(ActiveX Data Objects)库来执行...

    不同数据库update实现多表更新.doc

    因此,本文总结了在SQL Server、Oracle、MySQL三个数据库系统中update语句更新多表的用法。 一、SQL Server update语句 SQL Server的update语句的基本语法如下: ```sql UPDATE { table_name WITH ( [ ...n ] ) | ...

    SQL update 多表关联更新的实现代码

    - **更新限制**:UPDATE语句本身不支持直接更新多表,但在FROM子句中加入关联的表后,实际上实现了对多表的联合操作。 - **关联条件**:FROM子句中的JOIN或直接的表名组合(如`A, B`)必须有一个或多个关联条件,以...

    Mysql Update批量更新的几种方式

    刚开始你可能会想到使用循环执行多条UPDATE语句的方式,就像以下的python程序示例: for x in xrange(10): sql = ''' UPDATE mytable SET myfield='value' WHERE other_field='other_value'; ''' 这种方法并没有...

    Oracle两张表关联批量更新其中一张表的数据

    UPDATE 表2 SET 表2.C = (SELECT B FROM 表1 WHERE 表1.A = 表2.A) WHERE EXISTS (SELECT 1 FROM 表1 WHERE 表1.A = 表2.A); 尤其注意最后的外层where条件尤为重要,是锁定其批量更新数据的范围。 方法二: ...

    多表更新

    这种方式适用于需要同时更新多个表的情况,且更新的字段间存在直接关联。 3. 使用事务:对于多步骤的更新操作,应使用事务来确保数据的一致性。即使在其中一个表的更新失败,事务也可以回滚到初始状态,避免数据不...

    Windows更新WindowsUpdate重置工具Reset-WindowsUpdate.rar

    在Windows操作系统中,Windows Update是一项重要的服务,它负责为系统提供最新的安全补丁、功能更新以及驱动程序。然而,有时Windows Update可能会遇到问题,导致更新无法正常进行或更新过程失败。在这种情况下,...

    Go-go-update构建自我更新的Go程序

    `go-update`库正为此目的而设计,它允许Go应用程序检查并安装新的更新,确保用户始终运行的是最新版本。这个库简化了自我更新机制的实现,使开发者能够专注于核心业务逻辑,而不是构建复杂的更新系统。 `go-update`...

    多表更新sql

    多表更新SQL是指在一个SQL语句中同时更新多个表中的数据。这种技术主要用于处理那些具有紧密关联关系的数据表,比如一对多或多对多的关系。相比于逐一更新每个表,多表更新可以极大地提高效率并简化操作流程。 ####...

    SQLServerUpdate多表Join

    ### SQL Server Update 多表 Join 知识点详解 在 SQL Server 中,有时我们需要更新多个表中的数据,尤其是在这些表之间存在某种关联的情况下。本文将详细介绍如何使用 `UPDATE` 语句结合 `JOIN` 来实现对多个表的...

    SQLITE数据库 UPDATE慢

    1. **索引缺失**:在执行UPDATE操作时,如果更新的列没有索引,数据库需要全表扫描来找到匹配的行,这在数据量大的情况下会非常慢。解决方案是为经常用于WHERE子句中的列创建索引,以提高查找效率。 2. **大数据量*...

    Tiger Update实现自动更新

    Tiger Update实现自动更新实现的原理如下: 1. 通过Tiger Installer制作安装程序和升级包 2. 在一个Web Server上增加一个取得最新版本的链接和一个下载升级包的链接。 3. 软件通过Tiger Update组件取得最新版本和...

    ibatis应对批量update

    - 循环遍历待更新的数据集合,使用`update`方法依次执行更新操作。 - 调用`executeBatch()`方法提交所有的更新操作。 4. **示例代码**: ```java final List, Object&gt;&gt; tempList = list; try { if (list != ...

    SQL多表更新

    ### SQL多表更新知识点详解 在数据库操作中,更新数据是一项常见的需求。当涉及到多个表之间的数据关联时,如何高效地进行多表更新就显得尤为重要。本次内容将围绕“SQL多表更新”这一主题展开,深入探讨其概念、...

    三星官方bois更新程序BIOS Update

    【三星官方BIOS更新程序BIOS Update】 BIOS(Basic Input Output System)是计算机系统的基础固件,负责在开机时执行最基础的硬件初始化和设置,为操作系统提供硬件控制的接口。三星作为知名的电子设备制造商,其...

    Mysql跨表更新 多表update sql语句总结

    本文主要总结了在MySQL中进行多表更新的不同SQL语句写法,适用于需要根据一张表中的数据来更新另一张表的情况。 首先,我们可以使用传统的`UPDATE`语句与两张表的简单联接(JOIN)来实现跨表更新。例如,假设有`...

    update 带from字句的更新

    然而,当你需要基于另一个表的数据来更新一个表时,普通的`UPDATE`语句就显得不够用了。此时,你需要使用`UPDATE`语句结合`FROM`子句,这是一种更复杂的更新操作,通常被称为“基于连接的更新”或“自连接更新”。...

Global site tag (gtag.js) - Google Analytics