ITPub博客

首页 > Linux操作系统 > Linux操作系统 > DBA那些事儿 (5). 严谨

DBA那些事儿 (5). 严谨

原创 Linux操作系统 作者:yxyup 时间:2009-09-16 22:35:37 0 删除 编辑

有一需求,将t1表中ID数据更改为t1_bak表中的ID数据,存在于t1但不存在于t1_bak的数据保持不变,表t1,t1_bak如下

SQL> select * from t1;

ID NA
———- –
1 a
2 b
3 c

SQL> select * from t1_bak;

ID NA
———- –
1 a1
2 b1

—-SQL1
SQL>  update  t1 set name= ( select name from t1_bak where t1.id=t1_bak.id);

3 rows updated.

SQL> select * from t1;

ID NA
———- –
1 a1
2 b1
3

SQL> rollback;

Rollback complete.

—SQL2
SQL> update  t1 set name= ( select name from t1_bak where t1.id=t1_bak.id) where exists (select 1 from t1_bak where t1.id=t1_bak.id);

2 rows updated.

SQL> select * from t1;

ID NA
———- –
1 a1
2 b1
3 c

SQL>

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7364032/viewspace-614843/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
暂无介绍

注册时间:2007-12-06

  • 博文量
    163
  • 访问量
    1319068