oracle和mssql中复制表的比较

来源:互联网 发布:支付宝和淘宝怎么注销 编辑:程序博客网 时间:2024/06/05 01:12

oracle和mssql中复制表的比较
 
库内数据复制
MS SQL Server:
Insert into 复制表名称 select 语句 (复制表已经存在)
select 字段列表 into 复制表名称 from 表 (复制表不存在)
 
Oracle :
Insert into 复制表名称 select 语句 (复制表已经存在)
create table 复制表名称 as select 语句 (复制表不存在)
 
多表更新、删除
 
一条更新语句是不能更新多张表的,除非使用触发器隐含更新,我这里说的意思是:根据其他表数据更新你要更新的表一般形式:
MS SQL Server
update ASET 字段1=B表字段表达式,字段2=B表字段表达式from BWHERE 逻辑表达式
 
Oracle


update A

SET 字段1=(select 字段表达式 from B WHERE ...),字段2=(select 字段表达式 from B WHERE ...) WHERE 逻辑表达式


从以上来看,感觉oracle没有ms sql好,主要原因:假如A需要多个字段更新,MS_SQL 语句更简练你知道刚学数据库的人怎么做上面这件事情
 
吗,他们使用游标一条一条的处理

文章出处:飞诺网(www.diybl.com):http://www.diybl.com/course/7_databases/oracle/oraclejs/20110830/559174.html

 

或者:

update TABLE1 a
   set a.字段名=值

 where exist (select 1 from TABLE2 b
where b.字段名=a.字段名;