oracle中好像隻能
UPDATE A T1 SET B=(SELECT T2.B FROM B T2 WHERE T1.A=T2.A)
這樣寫,
這樣寫有什麼不好嗎?有什麼問題嗎?
oracle 和 sql server 的語法還是有一些差異的。用多了就習慣了。
UPDATE A T1 SET B=(SELECT T2.B FROM B T2 WHERE T1.A=T2.A)
這樣寫,
這樣寫有什麼不好嗎?有什麼問題嗎?
oracle 和 sql server 的語法還是有一些差異的。用多了就習慣了。
解决方案 »
- javaweb开发建数据库时,数据库字段的问题
- windows Oracle 11G如何安装好后如何配置?
- 求助:ORA 10g 透明网关连接SQL 2005连不上
- sql分组难题
- Ora文件的恢复问题
- 请问斑竹 ,前几天置顶的oracle 常见问题的集锦 哪里去了?
- 请大虾给出如果在客户端通过sqlplus启动服务端的特定实例,给出详细的脚本,谢!
- connect sys/change_on_install@testdb as sysdba 报错:insufficient priviledges ?
- varchar2和nvarchar2有什么不同吗???
- 请问下从多个表提取数据出来的查询语句,如何将游标中的值提取出来
- 100分求助ORACLE基出问题解答,详细内容见正文。各位大虾帮忙
- 数据库管理要学多久才能工作?
where exists (select 1 FROM B T2 WHERE T1.A=T2.A)
FROM A T1 LEFT join b T2 on T1.A=T2.A
WHERE T1.A IS NOT NULL
好象不行,大家能看看么
因为用 exists 比下面的in好UPDATE A T1 SET B=(SELECT T2.B FROM B T2 WHERE T1.A=T2.A)
where t1.a in (select a from b)
exists并且解决了where 中可以有两个以上表联合检索的需求
UPDATE A T1 SET B=(SELECT..... 语句很长..where... and T1.A=T2.A)
where exists (SELECT..... 语句很长..where... and T1.A=T2.A)那么这个"SELECT..... 语句很长..where..." 很长的语句是否执行了2次呢?就是说检索了两次呢?
即防止对整个表进行更新。