oracle/mssql 复制表 (转载)

 转载自:

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://ayk.blogbus.com/logs/4373855.html

 

表数据复制
 
库内数据复制

 
MS SQL Server
Insert into 复制表名称 select 语句 (复制表已经存在)
select 字段列表 into 复制表名称 from 表 (复制表不存在)

 
Oracle
Insert into 复制表名称 select 语句 (复制表已经存在)
create table 复制表名称 as select 语句 (复制表不存在)
 
文本文件转入、转出的批量处理
MS SQL Server
BCP命令行程序
 
Oracle
SQLLDR命令行程序

 
多表更新、删除
 
一条更新语句是不能更新多张表的,除非使用触发器隐含更新,我这里说的意思是:根据其他表数据更新你要更新的表一般形式:

 
MS SQL Server
update ASET 字段1=B表字段表达式,字段2=B表字段表达式from BWHERE 逻辑表达式
 
Oracle
update ASET 字段1=(select 字段表达式 from B WHERE ...),字段2=(select 字段表达式 from B WHERE ...) WHERE 逻辑表达式
从以上来看,感觉oracle没有ms sql好,主要原因:假如A需要多个字段更新,MS_SQL 语句更简练你知道刚学数据库的人怎么做上面这件事情吗,他们使用游标一条一条的处理

 
 
数据库备份和恢复
 
两者都提供了很强的数据库的备份和恢复能力,Oracle提供了更多的手段, Orace宣称她的数据库是不可摧毁的也不是瞎吹牛

 
MS SQL SERVER
①数据库的倒入倒出DTS工具,如果数据源和目的都是MS SQL SERVER则可以完全复制数库的结构 (包括表、视图、索引、触发子、规则、默认、存储过程、用户定义函数、表数据)
②数据库备份和恢复命令
backup databaserestore database
倒出的数据文件还可以压缩的,这一点不同于Sybase 而且这种数据库备份和恢复的方式可以是增量的和完全的
③数据库的附加Attach
只要数据库的原始数据和日志文件没有损坏,就可以命令:SP_ATTACH_DB
这种情况,有时候会出问题:比方说你键了登陆帐号,不是使用缺省的登陆帐号sa,由于登陆帐号的信息存放在master数据库中,所以你使用原来建立的帐号就登陆不上,所以要做一些后补工作

 
Oracle
①倒出倒入工具exp和imp工具倒入倒出的参数何其多
②冷备份或者称脱机备份,备份的时候数据库是停止的备份所有的数据文件、日志文件、控制文件
③热备份或者联机备份数据库处在ARCHIVELOG模式,注意缺省情况下都是ARCHIVELOG 恢复时可以选择完全恢复、时间点恢复、SCN点恢复、用户自由干预的CANCEL恢复可以说他的热备份的恢复功能是非常之强大的


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值