求一条 update语句
现在有 表Aid code name 其他很多列
1 a 小黑 。。 --旧
2 b 小白 。。 --旧
3 c 小辉 。。--旧
4 a 小黑 。。 --新
5 b 小白 。。 --新
6 c 小辉 。。 --新其中id 是主键! 非空 唯一现在我就想 把 新的 和 旧的的 PK建 也就是 id 互换一下 如何弄?
新-旧 都是一对一的。
我最终的效果想弄成。
id code name 其他很多列
1 a 小黑 。。 --新
2 b 小白 。。 --新
3 c 小辉 。。 --新
4 a 小黑 。。 --旧
5 b 小白 。。 --旧
6 c 小辉 。。 --旧
这样 新旧 数据 互换!!!!!!!!
现在有 表Aid code name 其他很多列
1 a 小黑 。。 --旧
2 b 小白 。。 --旧
3 c 小辉 。。--旧
4 a 小黑 。。 --新
5 b 小白 。。 --新
6 c 小辉 。。 --新其中id 是主键! 非空 唯一现在我就想 把 新的 和 旧的的 PK建 也就是 id 互换一下 如何弄?
新-旧 都是一对一的。
我最终的效果想弄成。
id code name 其他很多列
1 a 小黑 。。 --新
2 b 小白 。。 --新
3 c 小辉 。。 --新
4 a 小黑 。。 --旧
5 b 小白 。。 --旧
6 c 小辉 。。 --旧
这样 新旧 数据 互换!!!!!!!!
解决方案 »
- RMAN中能list backup到文件 但是restore datafile的时候找不到文件求解释
- 求各位大神帮忙 存储过程问题
- 求一段代码,循环插入号段数据
- exp多个表空间,想imp一个指定表空间如何做
- sp_addlinkedserver链接oracle服务器报ORA-12705(NLS)错?
- 谁知道怎么对象嵌套表的使用呀?
- 登陆 oem 问题,进来看看!
- 触发器的问题
- 我想找一些oracle8i/9i的学习资料,那有啊?
- ORACLE 9I 安装后系统自动给的SYS, SYSDBA,INTERNAL 密码是什么?
- Excel导入Oracle数值问题???
- 基表发生改变物化视图不能拿正常使用
但是 旧数据 需要 封存 启用新数据。但是原N多表 都已经引用旧数据了。 所以要通过 替换本表PK建 还达到
旧数据 变成 引用 新数据的。
这个update如何做?
1 a 小黑 。。 --旧
2 b 小白 。。 --旧
3 c 小辉 。。--旧
4 a 小黑 。。 --新
5 b 小白 。。 --新
6 c 小辉 。。 --新update 表 set xinjiu=decode('新','旧','旧','新','');
game over
update xjth set code1= (select a.code from xjth a where xjth.name = a.name and xjth.xj <> a.xj)update xjth set code = code1
那就是时间不等于阿
-- 新、旧互换!(不存在对应的新或旧,则不更新!)
update a a1
set a1.id=(select a2.id from a a2 where a2.code=a1.code and a2.name=a1.name and a2.xinjiu<>a1.xinjiu);-- 不管存不存在对应的新或旧均更新(更新字段“xinjiu”,只要是“新”则更新为“旧”,只要是“旧”则更新为“新”,不管是否存在对应的新或旧)
update a set a.xinjiu=decode(a.xinjiu,'新','旧','旧','新',a.xinjiu);