问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

SQL一条语句更新两个表!

发布网友 发布时间:2022-05-26 17:31

我来回答

5个回答

热心网友 时间:2023-10-08 18:30

首先注意Statement 和PreparedStatement的问题

Statement sm = cn.createStatement(); sm.addBatch(sql1); sm.addBatch(sql2); ... sm.executeBatch()用Statement的好处就是每次可以直接传一个SQL语句进去,不用管那么多。可是在数据量比较大的时候,应该会对效率有影响。不建议使用。

PreparedStatement ps = cn.preparedStatement(sql); { ps.setXXX(1,xxx); ... ps.addBatch(); } ps.executeBatch();PreparedStatement是会预编译的,只要一条SQL,不断动态设值,然后addBatch(),在数据量大的时候比较好,非常建议使用。

还有就是JDBC的驱动问题,很多同志可能还是在用2000的驱动呢,没有用批量更新的程序没有多大问题,可是一旦用了批量更新,出现很多问题,

反正数据库很卡,慢。还可以更新不了哦。

我强烈建议大家更新JDBC驱动。

但是如果出现

SQLServerException: sp_cursoropen/sp_cursorprepare: 该语句参数只能是一个批或带有单个 SELECT 语句的存储过程,且不带 FOR BROWSE、COMPUTE BY 或变量赋值。

应该就是JDBC的版本问题,1.0的驱动有这个问题,好像不支持批量更新,我建议大家使用1.2

我测试过了,完全没有问题!

提供一些数据连接参数

jdbc.driverClassName:com.microsoft.sqlserver.jdbc.SQLServerDriver

jdbc.url:jdbc:sqlserver://127.0.0.1:1444;databaseName=fax;selectMethod=cursor;

参考资料:http://www.jacken.com.cn/Database/MSSQL/

热心网友 时间:2023-10-08 18:30

可以明确的告诉楼主
一条sql语句不能更新两个表。
如果写update t1,t2 set t1.id=1,t2.id=1会出现语法错误
而你要更新的字段“申请状态”恰好在两个表里都有
因此只能是两条。

update a set 申请状态=2 from b where a.申请单号=b.申请单号 and b.申请身份证号=1
update b set 申请状态=2 where 申请身份证号=1

热心网友 时间:2023-10-08 18:31

需要两条sql语句

update b
set b.申请状态=2
where b.申请身份证号=1;

update a
set a.申请状态=2
where a.申请单号=(select b.申请单号 from b where b.申请身份证号=1)

热心网友 时间:2023-10-08 18:31

update (select * from FROM 表A t, 表B s WHERE t.申请单号 = s.申请单号) a set a.申请状态 = 2 where a.身份证号=‘1’

这样你试试吧,不过你这两张表存在冗余,因而加大了难度。其实一个表中可以完全不要申请状态

热心网友 时间:2023-10-08 18:32

update a set 申请状态=2 where 申请状态 in (select 申请状态 from b where 申请身份证号=1);
SQL一条语句更新两个表!

首先注意Statement 和PreparedStatement的问题 Statement sm = cn.createStatement(); sm.addBatch(sql1); sm.addBatch(sql2); ... sm.executeBatch()用Statement的好处就是每次可以直接传一个SQL语句进去,不用管那么多。可是在数据量比较大的时候,应该会对效率有影响。不建议使用。PreparedStatement ps...

干货| 一条 SQL 语句更新多个表

多表UPDATE语句是SQL中一种有效方法,允许在多个表中更新数据,使用一条语句达到目的。此技术通过组合两个或多个表的关键字,如JOIN关键字,实现数据更新。然而,并非所有情况都适合使用此方法,需注意限制和准则。例如,操作两个表的更新合并为一条语句,可提高效率,减少对服务器的调用。此过程包括定义...

一条sql语句怎么修改两个表里的相同字段的值

用存储过程,或者是用各个数据库的直接执行字符串SQL语句的方法吧

可不可以用一条SQL语句同时修改两个表的数据

绝对不做不到,修改两个表的数据,需要两个Update语句。

如何用一条sql语句修改两张表中相同字段

一个语句只能更新一个表你可以先建立个视图,视图是两个表的同名字段union all后的结果。然后用一条SQL语句修改该视图就行了。再或者 你先更新一个表 然后再用这个表去更新另一个表如:UPDATE A SET A.Field=B.Field FROM B WHRE A.ID=B.ID ...

求1条更新SQL关联两表间的更新语句

update sc_floutdtl a, sc_floutjfdtl b set b.QTY = a.QTY where a.orderno = b.code and a.sku = b.sku 应该是可以的吧!

如何一条sql语句修改两条记录

很多的复合的SQL语句,其实是多条语句的合成。比如:if(1=1) beginupdate 表1 set 字段1=1 where 字段1 is null;update 表2 set 字段2=1 where 字段2 is null;end 这就是一个条件判断句语。成立的话,就更新两个表的数据。但在语法上,它算一条SQL语句。

在oracle中怎样用一条sql语句更新两张有主外键关系的表的记录

作者表 A (ID,NAME,AGE,SEX)其中ID为主键,文章表B(ID,AID,ARTICLE)其中ID为主键,AID为外键。如果你希望更新表A中某个作者的ID,并同时更新文章表B中对应的数据,那么写一个触发器:create or replace trigger "A"after update of ID on A_author for each row begin if (:new.ID<>:...

sqlserver中如何用一条sql语句实现更新两张表,两张表是有主外键关系的...

更新外键表先在更新主键表 如果有规则可以做触发器。。。

如何通过一条SQL变更多个分库分表?

在数据库实施分库分表的架构下,数据变更确实成为了一个挑战,特别是当数据分散在多个数据库实例中时,传统的单个DDL语句无法直接应用于所有分库分表。不过,借助像NineData这样的专业数据库管理工具,我们可以有效地通过一条SQL语句来批量变更多个分库分表。以下是具体的解决方案步骤:一、录入数据源首先,...

用于更新表中数据的SQL语句是 两张表更新update语句 数据库更新语句调用多个表 更新表的语句 更新mysql表语句 数据库表的更新语句 update更新语句多表关联 mysql循环更新表语句 更新表数据的sql语句
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
减肥果产品介绍 巴沙减肥果产品介绍 旅游专列是什么意思旅游专列好不好 巴沙减肥果基本信息 什么样的英语文章,是用纯大写的? 梦见黄色的大活鱼是别人捞起的的预兆 夕阳红“旅游专列,现在都有哪些线路可选 诸位大虾看看我的电脑配置如何 这个电脑是2手的 人家用了快3年吧 开... 老电脑玩剑三游戏FPS卡的厉害,诸位大神帮忙看下需要换显卡还是cpu,顺... ...请问能撑起游戏吗?电脑情况我只知道这些请诸位大神帮忙 怎么解“vivo y51”手机帐号密码? 包包上的锁头坏了怎么办? 求一条更新语句(sql) vivoY51怎么去掉账户密码 sql的一条更新语句怎么写 QQ资料卡显示有一条更新,都是进入她的QQ空间又没有显示更新的嘛,都是以前的东西,我点赞回复过的。 抖音上,1条更新是什么意思? 出生二十天的宝宝鼻子老是不通气憋的用嘴呼吸都八天了,请怎么办? - 信息提示 一块肉煮的时间越长就越烂乎,说明什么? 肉煮的时间越长越烂说明什么? 下载的CAD 注册机 还有天正不知道用什么打开 中国古代谁的发明开启远洋航海时代 2012年7月中国“瓦良格”号航母先后三次出海试航.制造航母需要最多的金属材料是合金.请回答下列问题: 在2000多年前中国人就制作了什么用于航海中 美国把中国出海通道封锁后中国该怎么办 在现在的环境下中国出海企业要怎么做才能取得成功? 第二艘航母出海试航,能不能说成是中国创造的? 小黄丫饵料钓草鱼可以吗? 自然人独资转让全部股权 update更新一条查询结果 vivo y51的帐户密码该怎么解? Sql Server 一条Update 语句更新两个字段的值,可是为什么一个值表了,另一个值没有变 sql更新一条竟然更新整个数据库了 SQl server 数据库 更新数据只更新一条数据后面几个字段怎么解决吗? 谁能帮我把vivoy51帐号密码解开 2017非全日制本科警校招考 要报考警察学院研究生是不是要在职工作两年后才能报考? 伤口很深什么办法能快速愈合 什么可以让较深的伤口愈合的快? 伤口很深,吃什么能有利于伤口俞合? 伤口很深怎么能最快愈合,现在伤口不 伤口较大,较深,怎样愈合,止血较快? 日复一日的拼音 “日复一日”的近义词是什么? 日复一日的近义词 日复一日,年复一年 英语怎么说 “日复一日,年复一年”怎么用英语翻译? 日复一日,年复一年还好成功了不然都对不起自己用英语怎么说? 日复一日每天坚持打卡阅读用一段话怎么概括