http://yidao620c.iteye.com/blog/371913
当update 多列 时有如下几种选择
1.)教科书式写法
update t_table a
set f1=(select f1 from testz b where a.id=b.id),
f2=(select f2 from testz b where a.id=b.id),
f3=(select f3 from testz b where a.id=b.id)
where id=2;
2.)教科书变种
update t_table a
set (f1,f2,f3)=(select f1,f2,f3 from testz b where a.id=b.id)
where id=2;
虽然道理和方法1一样,却省了不少事
3.)另类nest table写法
update (select f1,f2,f3 from t_table where id=2)
set (f1,f2,f3)=(select f1,f2,f3 from testz b where id=2);
此方法虽然比2的代码 量要多一些,但是没有表连接,如果两个表都在id列有主键,速度应该较方法1和方法2快一些.
说明:update是一个耗回滚段,耗重做日志,耗时间,耗成本的操作,尤其是大表的多列update,如有必要应比较其与重新建表的效率.
分享到:
相关推荐
本文将详细介绍如何使用UPDATE语句来更新单列和多列的数据。 首先,UPDATE语句的基本语法如下: ```sql UPDATE 表名称 SET 列名称 = 新值 WHERE 条件; ``` 这里,`表名称`是你想要更新的表的名称,`列名称`是你要...
- 当涉及到多表联接时,`FOR UPDATE OF`可以更加灵活地控制锁定的列: ```sql SELECT * FROM Table1 a JOIN Table2 b ON a.pkid = b.pkid FOR UPDATE OF a.pkid; ``` 这条语句仅锁定`Table1`中的`pkid`列,`...
在LabVIEW编程中,多列列表框是一种常用的用户界面组件,用于显示多行多列的数据。这个"LabVIEW多列列表框上色隔行变色.rar"文件可能包含了一个示例或教程,教你如何实现多列列表框的行颜色交替,以提高数据可读性和...
1. **索引缺失**:在执行UPDATE操作时,如果更新的列没有索引,数据库需要全表扫描来找到匹配的行,这在数据量大的情况下会非常慢。解决方案是为经常用于WHERE子句中的列创建索引,以提高查找效率。 2. **大数据量*...
"多列拖拽排序智能滚动"是一种提升用户体验的技术,它允许用户通过拖放操作对多列数据进行排序,同时在拖动过程中,如果接近屏幕边缘,页面会自动滚动,确保用户能持续看到可操作区域。这个功能的实现主要依赖于...
标准 Update 语句是 Oracle 中最基本的更新语句,语法为:`UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值`。例如:`UPDATE t_join_situation SET join_state='1' WHERE year='2011'`。这种方式适用于更新...
* 可以按照一列进行分组,也可以按照多列进行分组。 * 在使用 group by 子句时,select 子句中的任意一列要么包含在聚合函数中,要么必须在 group by 子句中出现过。 例如,从 teacher 表中查询各个系男、女教师的...
你可以同时更新多个列,每个列名后面都跟着等号和新值。 3. **新值**:新值可以是常量、表达式或查询结果,只要它们符合列的数据类型。 4. **WHERE**:这是可选但非常重要的部分,用于指定哪些行应该被更新。如果不...
PB并发控制机制是指在多用户同时访问数据库时,防止数据不一致和丢失的机制。PowerBuilder 提供了多种并发控制策略,包括Key Columns、Key and Updateable Columns、Key and Modified Columns 等。 其中,Key ...
只需按下所需的列标题。 命令行: HuaweiUpdateExtractor提取输入输出[资料] HuaweiUpdateExtractor改装输入输出配置文件 简介 的的profiles.xml文件被用于识别在update.app文件中的文件。在update.app每个文件...
如果目标服务器支持`UPDATE`方法,则响应将包含一个`Allow`头字段,列出支持的所有方法,包括`UPDATE`。 #### `UPDATE`处理 - **发送`UPDATE`请求**: - 发送方在对话建立后,若需要修改会话参数(如增加或减少...
比如,它可能包含一个名为“MANIFEST.MF”的文件,列出了zip文件中的所有条目及其属性,以及“UPDATE-SIG.PK7”或“UPDATE-SIG.PK8”签名文件,用于验证更新文件的完整性和安全性。此外,还有一个名为“RECOVERY.RSF...
3. **多字段更新**:在描述中提到的“多个字段内容实例”,意味着一次更新可能涉及表中的多个字段。例如,你可能需要同时更新用户的姓名和邮箱地址: ```sql UPDATE 用户表 SET 姓名 = '张三', 邮箱 = 'zhangsan@...
请注意,使用子查询更新多个列时,如果子查询返回多行,UPDATE语句会抛出错误。在上述示例中,由于每个`customer_id`在tmp_cust_city表中只有一个对应的记录,所以不会发生这种情况。然而,为了确保安全,最好在实践...
2. Readme.txt:这是安装或更新过程中的重要文档,通常会列出更新内容、安装指南、已知问题和解决方案等信息,是理解更新内容的关键。 3. SYSTEM32:这个目录通常包含系统级别的动态链接库(DLL)文件,对于Delphi ...
Sublime Text支持各种编程语言,并且拥有强大的自定义能力,用户可以通过安装各种插件来扩展其功能,如代码高亮、代码折叠、多列编辑等。这些插件大多数可以从Package Control获取,这是一个方便的包管理器,允许...
一个update扩展方法 文档中一种是比较笨的方法 一次只能修改一个列而且受列编辑类型影响(比如number datetime)扩展一次编辑多列,不受编辑类型影响,没有编辑属性也可以。
- **多列编辑**:用户可以在同一时间编辑多个位置,提高编辑效率。 - **分割视图**:支持同时打开多个文件并进行并排比较。 - **强大的快捷键**:Sublime Text提供了丰富的快捷键,使开发者能够快速执行各种操作...
`SELECT` 命令用于从一个或多个表中检索数据。其基本语法如下: ```sql SELECT column_name(s) FROM table_name WHERE condition ``` - **列名(column_name(s))**:要选择的数据列。 - **表名(table_name)**:...
在提供的部分文档内容中,Sun Microsystems的版权信息、版权声明、第三方软件的版权声明、Sun Microsystems商标信息和SPARC商标信息被列出。例如,Sun Microsystems的版权声明指出了文档的发行日期为2001年7月,并且...