Q:oracle库,同时更新表的两个字段?
在执行这些操作之前,建议先备份数据或在一个测试环境中验证这些SQL语句的效果,以避免意外的数据丢失。
1、使用 UPDATE 结合子查询:
对于t2表中col字段为空的记录,如果t1表中有对应的col值相同的记录,则使用t1表中的col1和col2字段值更新t2表的相关字段。
UPDATE t2
SET (col1, col2) = (SELECT t1.col1, t1.col2
FROM t1
WHERE t1.col = t2.col)
WHERE EXISTS (SELECT 1
FROM t1
WHERE t1.col = t2.col)
AND t2.col1 IS NULL;
2、如果没有非空条件,可使用MERGE 语句。oracle不支持MERGE 增加条件。
根据t1表中的数据更新t2表中的记录,如下
MERGE INTO t2
USING t1
ON (t1.col = t2.col)
WHEN MATCHED THEN
UPDATE SET
t2.col1 = t1.col1,
t2.col2 = t1.col2;
Q:oracle库,同时更新表的两个字段?的更多相关文章
- C# Oracle.ManagedDataAccess 批量更新表数据
这是我第一次发表博客.以前经常到博客园查找相关技术和代码,今天在写一段小程序时出现了问题, 但在网上没能找到理想的解决方法.故注册了博客园,想与新手分享(因为本人也不是什么高手). vb.net和C# ...
- sql一个表中两个字段合并求和
sql一个表中两个字段,合并求和 SELECT SUM(字段a+'.'+字段b) as total from TABLE
- mysql 查看某个库下面某个表的所有列字段, columnName
mysql 查看某个库下面某个表的所有列字段 select COLUMN_NAME as columnName from information_schema.COLUMNS where table_ ...
- KETTLE 更新表的两种方式-更新控件和sql更新 2种方式的实现比较
在实际工作中,我们有可能遇见只更新不插入的情况,可以由以下2种方式去实现: 1.更新控件 如下图所示,根据id字段,更新name和cjsj时间字段 该控件不足的地方是,用来查询关键值得字段不够灵活,一 ...
- Sql中如何将数据表的两个字段的值如何互换?
今天遇到一个数据表的两个列数据要互换,在网上找到并记录下. 直接用Sql就可以搞定,语法如下 --将数据表中两个列数据互换的语法-- update tabName set field1=field2, ...
- 一条SQL语句查询两表中两个字段
首先描述问题,student表中有字段startID,endID.garde表中的ID需要对应student表中的startID或者student表中的endID才能查出grade表中的name字段, ...
- 一个表的两个字段具有相同的类型。如何仅用SQL语句交换这两列的数据?
--假设为A B两个字段--查询Select A As B, B As A From TableName --更新Update TableName Set A = B, B = A
- Oracle中新建数据表的两种方法
首发微信公众号:SQL数据库运维 原文链接:https://mp.weixin.qq.com/s?__biz=MzI1NTQyNzg3MQ==&mid=2247485212&idx=1 ...
- sql一张表中两个字段指向同一个外键
在项目开发中遇到这么一个例子,首先产品表 tb_product ----------------------------- id name 1 手机 2 电脑 3 笔记本 ...
- MySQL 一张表中两个字段值互换
update table a, table b set a.filed1= b.field2, a.field2= b.field1where a.id = b.id
随机推荐
- java——棋牌类游戏斗地主(singleddz3.0)
这是本人最近一段时间写的斗地主的java代码,大体框架都实现了,主要缺少,AI的智能算法. 下载地址http://download.csdn.net/detail/novelly/5695445 im ...
- 秒懂Java为什么只有值传递
在Java语言中,数据类型分为基本数据类型和引用数据类型. 基本数据类型(如int.double.char等)的值直接保存在栈上.这些类型的变量在栈内存中有固定的大小,并且值是直接存储在这些变量中的, ...
- HarmonyOS Next 入门实战 - 导航框架:HMRouter
基础知识 目前官方推荐的最佳解决方案,是官方对于Navigation导航组件的封装,使用更简单便捷.如果熟悉Navigation的话,使用起来很快上手. 首先先集成HMRouter模块 使用命令行安装 ...
- 【Kotlin】select简介
1 前言 协程的 select 是一种用于异步操作的选择器,它允许同时等待多个挂起函数的结果,并在其中一个完成时执行相应的操作. 能够被 select 的事件都是 SelectClause,在 ...
- PowerShell一键下载Nuget某个包的所有版本
一转眼好几年没有写博客了,来博客园冒个泡,最近由于工作需要,内网办公,幸运的是只需要上传一个*.nupkg一个包信息就可以在私有nuget下载到了,下面就用PowerShell编写下载脚本,需要注意的 ...
- 从Delphi到Lazarus——Lazarus编程时可以使用的组件(控件)
0.前言 使用过可视化编程的人都知道在编程时组件的重要性.可以使用的组件越多,编程越方便快捷. 理论上,Delphi中的所有组件在Lazarus中都可以使用.当然,在Windows编程时多数是可以直接 ...
- CVE-2023-0461 漏洞分析与利用
PS: 文章首发于补天社区 漏洞分析 tcp_set_ulp里面会分配和设置 icsk->icsk_ulp_data,其类型为 tls_context tcp_setsockopt do_tcp ...
- 2024年1月Java项目开发指南19:Vue动态页面渲染
以文章为例子,我们获取了文章列表. 现在想实现,点击文章列表里面的某一篇文章,跳转页面,这个页面显示文章的具体内容. 那么应该怎么实现. 首先,你要创建一个文章详情页的组件(article.vue) ...
- Timestamp和LocalDateTime 互转
jdk:1.81.Timestamp 转 LocalDateTime Timestamp time = Timestamp.from(Instant.now());LocalDateTime loca ...
- DotNetBar115破解版下载地址
DotNetBar115破解版下载地址: 百度网盘:https://pan.baidu.com/s/187bkgB6tGyp1jUicsljfkQ 提取码:v0za