热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何在Oracle数据库中更新特定列的数据

在Oracle数据库中,若需更新特定列的数据,可以通过联接两张表来实现。例如,假设我们有两张表:`sales`和`goods`。为了更新`sales`表中的某些列,可以使用`UPDATE`语句结合`JOIN`操作,确保数据的准确性和一致性。具体操作步骤包括选择需要更新的目标列,定义联接条件,并指定更新后的值。这种方法不仅提高了数据处理的效率,还保证了数据的完整性。
现在有俩张表,sales和 goods,表的内容如下
myuser>select * from sales;

 GNO        UNO               NUM 
 ---------- ---------- ---------- --------------------
g001       u001                2
 g001       u002                1
 g002       u001                3
 g002       u003                4

 myuser>select * from goods;

 GNO        GNAME          GPRICE TNO
 ---------- ---------- ---------- ----------
g001       water               2 t001
 g002       milk                4 t001
 g003       nuts               10 t002
 g004       rice               30 t002
 g005       apple               5 t003
 g006       orange              3 t003
更改sales表结构,增加一列total,更新sales表中记录,total取值为数量*价格 更新后,表中数据为
GNO        UNO               NUM  total
 ---------- ---------- ---------- --------------------
g001       u001                2         2
 g001       u002                1         4
 g002       u001                3         16
 g002       u003                4         12
怎么做各位大神

2 个解决方案

#1



-- 你的贴子发重了,另一贴已回复你

SQL> 
SQL> create table sales(GNO varchar(10), UNO varchar(10), NUM int);
Table created
SQL> create table goods(GNO varchar(10), GNAME varchar(10), GPRICE int, TNO varchar(10));
Table created
SQL> begin
  2      insert into sales values('g001','u001',2);
  3      insert into sales values('g001','u002',1);
  4      insert into sales values('g002','u001',3);
  5      insert into sales values('g002','u003',4);
  6  
  7      insert into goods values('g001','water ',2  ,'t001');
  8      insert into goods values('g002','milk  ',4  ,'t001');
  9      insert into goods values('g003','nuts  ',10 ,'t002');
 10      insert into goods values('g004','rice  ',30 ,'t002');
 11      insert into goods values('g005','apple ',5  ,'t003');
 12      insert into goods values('g006','orange',3  ,'t003');
 13  end;
 14  /
PL/SQL procedure successfully completed
SQL> alter table sales add total int ;
Table altered
SQL> update sales t
  2  set total = (select t.num * gprice from goods where gno = t.gno)
  3  where exists(select * from goods where gno = t.gno);
4 rows updated
SQL> col num format a10;
SQL> col total format a10;
SQL> select * from sales ;
GNO        UNO               NUM      TOTAL
---------- ---------- ---------- ----------
g001       u001                2          4
g001       u002                1          2
g002       u001                3         12
g002       u003                4         16
SQL> drop table sales purge;
Table dropped
SQL> drop table goods purge;
Table dropped

SQL> 

#2


谢谢

推荐阅读
  • 本文探讨了在 SQL Server 中使用 JDBC 插入数据时遇到的问题。通过详细分析代码和数据库配置,提供了解决方案并解释了潜在的原因。 ... [详细]
  • 本文介绍了一个SQL Server自定义函数,用于从字符串中提取仅包含数字和小数点的子串。该函数通过循环删除非数字字符来实现,并附带创建测试表、存储过程以演示其应用。 ... [详细]
  • Oracle中NULL、空字符串和空格的处理与区别
    本文探讨了在Oracle数据库中使用NULL、空字符串('')和空格('_')时可能遇到的问题及解决方案。重点解释了它们之间的区别,以及在查询和函数中的行为。 ... [详细]
  • 本文介绍如何在SQL Server中创建动态SQL存储过程,并提供详细的代码实例和解释。通过这种方式,可以更灵活地处理查询条件和参数。 ... [详细]
  • 本文探讨了使用C#在SQL Server和Access数据库中批量插入多条数据的性能差异。通过具体代码示例,详细分析了两种数据库的执行效率,并提供了优化建议。 ... [详细]
  • Python处理Word文档的高效技巧
    本文详细介绍了如何使用Python处理Word文档,涵盖从基础操作到高级功能的各种技巧。我们将探讨如何生成文档、定义样式、提取表格数据以及处理超链接和图片等内容。 ... [详细]
  • 本文介绍 SQL Server 的基本概念和操作,涵盖系统数据库、常用数据类型、表的创建及增删改查等基础操作。通过实例帮助读者快速上手 SQL Server 数据库管理。 ... [详细]
  • 本文深入探讨了SQL数据库中常见的面试问题,包括如何获取自增字段的当前值、防止SQL注入的方法、游标的作用与使用、索引的形式及其优缺点,以及事务和存储过程的概念。通过详细的解答和示例,帮助读者更好地理解和应对这些技术问题。 ... [详细]
  • 主调|大侠_重温C++ ... [详细]
  • 反向投影技术主要用于在大型输入图像中定位特定的小型模板图像。通过直方图对比,它能够识别出最匹配的区域或点,从而确定模板图像在输入图像中的位置。 ... [详细]
  • 利用决策树预测NBA比赛胜负的Python数据挖掘实践
    本文通过使用2013-14赛季NBA赛程与结果数据集以及2013年NBA排名数据,结合《Python数据挖掘入门与实践》一书中的方法,展示如何应用决策树算法进行比赛胜负预测。我们将详细讲解数据预处理、特征工程及模型评估等关键步骤。 ... [详细]
  • 本文详细介绍了C++中map容器的多种删除和交换操作,包括clear、erase、swap、extract和merge方法,并提供了完整的代码示例。 ... [详细]
  • 1.执行sqlsever存储过程,消息:SQLServer阻止了对组件“AdHocDistributedQueries”的STATEMENT“OpenRowsetOpenDatas ... [详细]
  • 本文将探讨2015年RCTF竞赛中的一道PWN题目——shaxian,重点分析其利用Fastbin和堆溢出的技巧。通过详细解析代码流程和漏洞利用过程,帮助读者理解此类题目的破解方法。 ... [详细]
  • MySQL 基础操作与优化
    本文详细介绍了 MySQL 的基础连接、数据库及表的操作,涵盖创建、修改、删除等常用命令,并深入解析了数据类型、列属性、索引、外键和存储引擎等内容。 ... [详细]
author-avatar
陈杰铭雅意
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有