转载自:
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://ayk.blogbus.com/logs/4373855.html
表数据复制
库内数据复制
MS SQL Server
Insert into 复制表名称 select 语句 (复制表已经存在)
select 字段列表 into 复制表名称 from 表 (复制表不存在)
select 字段列表 into 复制表名称 from 表 (复制表不存在)
Oracle
Insert into 复制表名称 select 语句 (复制表已经存在)
create table 复制表名称 as 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恢复可以说他的热备份的恢复功能是非常之强大的