`

oracle 代替 update from

 
阅读更多

可以用子查询代替

update tablea set  a=(select b.a from tableb b,tablea a where a.c=b.c and 限定范围的条件如 b.d in (....))

where exists (select 1 from tableb b,tablea a where a.c=b.c and 限定范围的条件如 b.d in (....))

例如 这里把表 student_history 的操作时间更新成student_graduate 里的bydate一致 (只是其中2个班级的)

update student_history a set operate_date=(select bydate from student_graduate b
where a.class_id=b.class_id
and a.student_id=b.stuid and b.class_id in('ff8080812f52ff02012f8ba5ca053aff','ff8080812f52ff02012f8ba5c9fd3afd'))
where exists (select 1 from student_graduate sg where a.class_id=sg.class_id
and a.student_id=sg.stuid and sg.class_id in('ff8080812f52ff02012f8ba5ca053aff','ff8080812f52ff02012f8ba5c9fd3afd'));

分享到:
评论

相关推荐

    ORACLE和SQL Server的语法区别

    - 用相应的SQL Server函数替代Oracle函数。 #### 五、字符串连接 - **Oracle:** Oracle使用`||`作为字符串连接运算符。 ```sql SELECT 'Hello' || 'World' AS Result; ``` - **SQL Server:** SQL Server使用...

    oracle中的子查询

    ### Oracle中的子查询详解 #### 一、子查询概述与应用场景 子查询是SQL语言中一项非常重要的功能,它允许我们在一个查询语句中嵌入另一个查询语句,以此来解决复杂的查询问题。子查询可以极大地提高SQL语言的灵活...

    Oracle和SqlServer语法区别

    3. 用相应的SqlServer函数替代Oracle函数。 4. 检查所有的比较运算符。 5. 用“+”字符串串联运算符代替“||”字符串串联运算符。 6. 用Transact-SQL程序代替PL/SQL程序。 7. 把所有PL/SQL游标改为非游标SELECT语句...

    最全的Oracle中文使用手册

    DML(数据操纵语言)用于插入、更新和删除数据,如`INSERT`、`UPDATE`、`DELETE`,以及`COMMIT`和`ROLLBACK`用于事务管理;DCL(数据控制语言)用于权限管理,如`GRANT`和`REVOKE`。 在查询方面,`SELECT`语句是...

    oracle语法大全 个人整理

    学习Oracle语法需要掌握各种DML(数据操纵语言)、DDL(数据定义语言)和DCL(数据控制语言)操作,如INSERT、UPDATE、DELETE用于处理数据,CREATE、ALTER、DROP用于创建、修改和删除数据库对象,GRANT和REVOKE用于...

    顶级讲师oracle全部课件,最全文档,涉及oracle所有操作,开发必备

    * 交互式命令:& 用于替代变量,edit 用于编辑指定的 SQL 脚本,spool 用于将 SQL*Plus 屏幕上的内容输出到指定文件中去。 * 显示和设置环境变量:set show 用于设置显示格式,linesize 用于设置显示行的宽度,...

    oracle常用SQL语句(汇总版).docx

    如果字段值中包含单引号,需要进行字符串转换,使用两个单引号’’代替。日期字段的字段值可以使用当前数据库的系统时间 SYSDATE,或者使用 TO_DATE 函数将字符串转换为日期类型。 2. DELETE 语句 DELETE 语句用于...

    Oracle 开发DBA SQL编写规范

    ### Oracle开发DBA SQL编写规范 ...##### 4.7 少用DISTINCT,用GROUP BY代替 - 使用`group by`子句来替代`distinct`,以提高查询性能。 - 示例: ```sql -- 错误示例 select distinct col1 from tab1; ...

    运用Java如何存取Oracle中的CLOB类型字段

    - 使用`select content from test where id = 1 for update`查询第一条记录,并获取CLOB对象。 - 使用`CLOB.setString()`方法设置CLOB的内容。 - 使用`PreparedStatement`和`setClob()`方法更新CLOB数据。 - 对...

    Oracle 基础知识分享.pptx

    Oracle数据库作为一种广泛使用的数据库管理系统,在数据管理和处理方面有着不可替代的地位。其强大的功能和灵活性使其成为众多企业和组织的首选。通过对Oracle基础知识的学习和掌握,可以更好地利用这一强大工具来...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 第一章 Oracle入门 一、 数据库概述 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前。简单来说是本身可视...

    ADO.NET访问Oracle数据库类,及DBHelper

    6. **注意事项**:由于Oracle已经停止对`System.Data.OracleClient`的更新,推荐使用Oracle官方的ODP.NET(Oracle Data Provider for .NET)来替代,以获得更好的性能和兼容性。ODP.NET分为Managed Driver和...

    oracle初学者必知的100个问题

    在Oracle中创建触发器使用CREATE TRIGGER语句,基本语法为CREATE TRIGGER trigger_name BEFORE/AFTER INSERT/UPDATE/DELETE ON table_name FOR EACH ROW; 17. 如何管理用户权限? 通过GRANT语句赋予用户权限,...

    oracle (sql语法) .doc

    Oracle SQL语法是数据库管理员和开发人员在操作Oracle数据库时必须掌握的重要技能。下面将详细解释文档中提及的一些关键知识点。 一、排序显示 在Oracle SQL中,`ORDER BY`子句用于对查询结果进行排序。默认是升序...

    ORACLE 合辑

    - 在SQL语句中使用`:variable`的形式代替具体的值,例如:`SELECT * FROM table WHERE id = :id`。 - 在Java等编程语言中,通过PreparedStatement等API传递参数。 #### Sequence **概念及作用:** Sequence是一种...

    sqlhelper oraclehelper

    在.NET开发环境中,`SQLHelper` ...然而,随着ORM(对象关系映射)框架的普及,如Entity Framework、NHibernate等,这些自定义的数据库助手类逐渐被更高级的框架所替代,因为它们提供了更强大、更灵活的数据访问能力。

    DBA对Oracle SQL编写规范的总结

    UPDATE XT_TAB SET URL = 'http://baidu.com;' WHERE TAB1 = 'MAIN' AND TAB2 = 'GX' AND COL_NAME = '某某'; ``` ##### 2.2 空格使用 - **规范要求**:为了使SQL语句更加清晰易读,关键字、保留字、逻辑...

    Oracle游标使用详解

    隐式游标是由Oracle系统自动创建和管理的游标,主要在执行`INSERT`、`UPDATE`或`DELETE`语句时被使用。这些操作通常涉及单行数据更新,因此无需显式声明游标。 ### 明确游标使用示例 在下面的例子中,我们将通过几...

    Oracle游标使用方法及语法大全.doc

    SELECT empno, salary FROM emp WHERE comm IS NULL FOR UPDATE OF comm; v_comm NUMBER(10, 2); BEGIN FOR r1 IN c1 LOOP IF r1.salary v_comm := r1.salary * 0.25; ELSIF r1.salary v_comm := r1.salary...

Global site tag (gtag.js) - Google Analytics