当前位置: 首页 > 编程笔记 >

SQL Update多表联合更新的方法

史昊焱
2023-03-14
本文向大家介绍SQL Update多表联合更新的方法,包括了SQL Update多表联合更新的方法的使用技巧和注意事项,需要的朋友参考一下

有些时候我们需要同时更新多个表中的数据那么就需要用到下面方法了:

(1) sqlite 多表更新方法


//----------------------------------

update t1 set col1=t2.col1

from table1 t1

inner join table2 t2 on t1.col2=t2.col2

这是一个非常简单的批量更新语句 在SqlServer中支持此语法 sqlite中却不支持

sqlite中可转换为 如下语法


update table1 set col1=(select col1 from table2 where col2=table1.col2)

update ta_jbnt_tzhd_pht_Area_xiang set t1=(select sys_xzqhdm.name from sys_xzqhdm  where t2=sys_xzqhdm.code)

(2) SQL Server 多表更新方法


//----------------------------------

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

access数据库多表更新方法


x = "update " + DLTB + " a inner join tbarea2 b  on a.objectid=b.FID  set a." + fd_dltb_xzdwmj + "=b.area_xzdw, a." + fd_dltb_lxdwmj + "=b.area_lxdw";

 SQLList.Add(x);

(3) Oracle 多表更新方法

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)

(4) MySQL 多表更新方法

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

 类似资料:
  • 本文向大家介绍ThinkPHP多表联合查询的常用方法,包括了ThinkPHP多表联合查询的常用方法的使用技巧和注意事项,需要的朋友参考一下 ThinkPHP中关联查询(即多表联合查询)可以使用 table() 方法或和join方法,具体使用如下例所示: 1、原生查询示例: 2、join()方法示例: Thinkphp使用join联表查询的方法 $user 表的 user_id 等于$b_user表

  • 在我的应用程序中,用户和首选项实体之间存在多对多关联。由于连接表需要一个额外的列,因此我必须将其分解为2个一对多的关联: 用户实体: 偏好实体: 用户首选项实体: 为了更新其中一个首选项,我循环浏览用户的一组首选项,并更新值如下: 我已经确认,我试图更新的用户变量在代码运行后确实包含新值。更奇怪的是,当重定向发生时,该值会在网页上更新,但数据库不会更新!这是我用来做更新的代码,这个类用@Trans

  • 问题内容: 我想在具有多个联接的语句中更新表。虽然我知道联接的顺序并不重要(除非您使用的是优化程序提示),但我还是以某种最直观的方式对它们进行了排序。但是,这导致我要更新的表不是我开始使用的表,并且我无法更新它。 我想做的一个虚拟例子是: 这里有许多关于使用联接进行更新的帖子,但是它们总是首先更新表。我知道这在SQL Server中是可能的,希望在MySQL中也可能! 问题答案: MySQL中的多

  • 问题内容: 有没有一种方法可以将两个主键合并为一个,然后级联更新所有受影响的关系?这是场景: 客户(idCustomer int PK,公司varchar(50)等) CustomerContacts(idCustomerContact int PK,idCustomer int FK,名称varchar(50)等) CustomerNotes(idCustomerNote int PK,idCu

  • org.springframework.jdbc.object.SqlUpdate类提供表示SQL更新的可重用操作对象。 Class 声明 (Class Declaration) 以下是org.springframework.jdbc.object.SqlUpdate类的声明 - public abstract class SqlUpdate<T> extends SqlOperation

  • org.springframework.jdbc.object.SqlUpdate类提供表示SQL更新的可重用操作对象。 Class 声明 (Class Declaration) 以下是org.springframework.jdbc.object.SqlUpdate类的声明 - public abstract class SqlUpdate<T> extends SqlOperation