说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

在ORACLE开发中,如何备份一条记录?即除了主键被修改外,其他数据都原封不动的备份过来。

编辑:说三道四文库 发布时间:2017-08-22 01:37
HTML文档下载 WORD文档下载 PDF文档下载
如果在我的DB中存在一个表Table1:No,Name,Age,Address是它的Field,其中No是主键。现在Table1中有一条数据为:
         No           Name   Age  Address
         001          张三   25  沈阳市和平区文化路115号
此时我需要对这条数据进行变更,但是需要保留原始数据,以备后用。于是我需要把这条数据的主键进行更改,这样表中就有了两条数据:
         No           Name   Age    Address
         001          张三   25     沈阳市和平区文化路115号
         001_BACK     张三   25     沈阳市和平区文化路115号

追加方法我只找到了一种,即在Insert 语句中改变了主键No的值,其它的各Field值直接在Insert语句中通过Select取得,但是这种方法有一个弊端,因为在相关的Select语句中必须把所有的字段都写出来。这样一来比较麻烦,最重要的是由于目前有两套系统共用一套DB,某些字段对于某个系统是不用的,更有可能根据需要以后还会追加字段,这样以前的系统都要重新修改
    高手帮帮忙,还有没有其它的方法?

通常你好备份数据需要放到另一个表中,这样就不会造成混乱.
1.建立Table1_backup

2.建立trigger , 当update Table1 时, insert old record to Table1_backup .

如果你不这样做,你的数据库会变得一团糟:-)
通常我不需要备份这样的数据,只在极特殊的情况下需要备份(而且是手动操作的,并不是有更新就需要备份,这是出于特殊情况考虑的,与通常意义上的数据库备份是不一样的),所以就直接备份在同一个表里了(而且不是由我决定的)。此外,即使备份到另一个表中,数据在备份后又要如何恢复呢?这又回到了如何在表中插入一条与已有数据几乎完全一样的数据(除主键外)的问题。
一、通常我不需要备份这样的数据,只在极特殊的情况下需要备份(而且是手动操作的,并不是有更新就需要备份,这是出于特殊情况考虑的,与通常意义上的数据库备份是不一样的)???????:没有说新建一个表就是通常意义的备份!!如果你是手工备份的话,那就没有必要修改程序了,你什么都不需要作了!!

二、即使备份到另一个表中,数据在备份后又要如何恢复呢?这又回到了如何在表中插入一条与已有数据几乎完全一样的数据(除主键外)的问题????????:怎么说一样呢?如果几乎一样,备份就没有意义了,既然备份了,就肯定可以恢复,
delete table1 where no='001';
insert into table1 select * from table1_bak where no='001';
建一个view

create or replace back_view
select no||'_BACK' as no_back , other_column, ....
from yourtable;

insert into yourtable (select * from back_view where no_back='001_BACK');
请各位老大在帮我提供解决方案时,不要偏离一个主题:原数据和备份数据一定要在一个表里,而且已经在一个表里了。所以备份到另一个表不是我要问的问题,也不能靠建立视图来进行备份,不要批判我的做法,不要管它合不合理,就单纯的解决这个问题sql语句应该怎么写?现在表里已经有这样的数据了:
         No           Name   Age    Address
         001          张三   25     沈阳市和平区文化路115号
         001_BACK     张三   25     沈阳市和平区文化路115号

现在我要恢复数据了,先删除“001”的数据,然后用insert into table1 (select '001',Name,Age,Address from table1 where No='001_BACK'),这样就可以把备份的数据恢复了。但是必须写出所有的字段Name,Age,Address,如果一个表里的字段非常非常多的话,就很麻烦。特别是当数据库的结构没有完全定下来的时候。如果没有主键的话,就好办了。insert into table1 (select * from table1 where No='001_BACK'),不需要具体的知道有些什么字段。有没有什么方法,能够修改主键还不需要具体的知道所有字段的,如第二个语句,就很好,偏偏需要修改主键才能插入(只要有一个字段需要改变的话,就需要写出所有其它的字段)。
最后再提醒一句:一定要在同一个表里

借助创建临时表:
Step 1
 delete from table1 where no='001';
Step 2
 create temp_table as select * from table1 where no='001_BACK';
Step 3
 update table1 set no='001' where no='001_BACK';
Step 4
 insert into table1 ( select * from temp_table where no='001_BACK'); 
 -- 也可以不用 where 条件
Step 5
 drop temp_table;

这样就可以不用关心表中除主键外的其他字段了,Step1-5可以封装在匿名块之中执行。
step1 : rename tableaa to tabletmp;
step2 : create table tableaa as select * from tabletmp;
step3 : update tableaa set field=field||'_bak';
step4 : insert into tableaa select * from tabletmp;
step5 : drop table tabletmp;
onSaveInstanceState和onRestoreInstanceState的用处 Android基础概念Context的作用 在Android的Notification中显示进度条 Android跨进程数据通讯-剪切板Clipboard ConditionVariable Android线程同步 Android软件开发方向指导 ArrayList LinkedList Set HashMap介绍 PermissionInfo Android权限枚举方法 Android上HTTP协议通讯状态获取 Android开发需要自己完善的类库总结 Android的ListView控件滚动时背景问题 GestureDetector手势识别类 - 进阶篇 MenuInflater Android菜单从xml创建方法 EditText输入提示你知道吗? Android布局Java代码构造法 Android全屏设置代码 测试Android软件性能主要方法 自定义Android标题栏TitleBar布局 获取Android屏幕方向及键盘状态 Android平台XML解析库功能不完整 GestureDetector手势识别类 - 入门篇 不会Java或C,Android123告诉你还有选择 Splash Screen开场屏在Android中的实现 Android游戏开发性能改进要点 Android的Activity你知多少呢? JSONObject在Android上的应用 Android高性能文件类MemoryFile 判断Android文件名是否安全技巧 让你的Android程序兼容多种分辨率 Android Button按钮控件美化方法 Android堆内存也可自己定义大小 怎么自动启动postgres数据库服务? 谁有已破解的IOCOMP的Instrumentation Pack Pro组件包,For C++builder 6.最好是3.0版 修改表里面的内容的命令。 一个数据查询的算法优化问题求助? 我想考中程,但手上只有高程教材资料,看看有用吗???? 调用SQL存储后有参数返回,应该怎么赋值? url中要传送一个变量的值,如何获取,急急!! 两个调试问题: *.inc是什么文件 WCHAR 转成 CString ?? 局域网中DELPHI通过myoledb如何联接其他机器中的mysql?在线等待!! 一个数据查询的算法优化问题求助? ****为什么没人为我解答呀???? 怎样将一幅不是很大的bmp图片放进数据库中 如何使datagrid不出现新增行? 一个数据查询的算法优化问题求助? 刚看了一部影片!很受感动!散分!!!!!!!!!!!!! 化简逻辑函数的方法(一定给分) 控件的隐藏?? 要保存用户留言的日期和时间,在Access2000数据库中用什么数据类型好呢,那insert into又怎么写呢?now()函数得出的值中有空格和冒号,会 为此问题郁闷了好久,望高手们指点!小生在此谢谢了! 请各位大哥教我 求购VB中发传真的控件(在线等) 请问什么是正则表达式?哪位给介绍一下 select控件的隐藏属性?? 显示控件 关于Drag and Drop的问题(请教各位高手) 关于cloudscape与数据库应用程序? 50分! 存储过程的错误处理? 请问正在上海工作的朋友,上海有哪些感觉比较好的软件公司??????????????? 调用SQL存储后有参数返回,应该怎么赋值? 水晶报表连接的问题,1.做了个*.rpt文件路径为d:\xfdk\*.mdb 2.程序中调用时是在app.path\*.mdb 3.为什么在用户用户哪里还要找设计用到 关于窗体退出的问题 ASP中如何获取当前本身的文件的文件名??急!! Solaris与Windows平台下DB2代码页转换问题 关于cloudscape与数据库应用程序? 50分! 关于线程 播放电影死机 下面的东西哪下载? 在ADO中如何插入一条记录? 再问Query 这个sql语句怎么写?? 推荐一下 Jbuilder书 如何使用QReport的Detail中打印指定行数的记录??即在指定的页面上填充相关数据。 import javax.servlet.*;怎么通不过,我用的是jbuilder5 為什么在pb裡運行是好好的....但生成exe 后就變為樣出錯 誰有這種經驗? XP为什么总是保留我插入的前一张光盘的内容? 为什么我在VC下面画得彩色线条打印出来没有灰度等级差别?而全是黑色 seabell(百合心)请进!在线等待! 请各位提供一些能在redhat 8.0安装的笔记本网卡!不胜感激! 如何对文件夹加锁 中国地理河流湖泊. 第一,二次工业革命的基本特征是什麽,简要说明工业革命与世界市场之间的关系.急 青藏铁路何时完工 地理题.与河流湖泊有关.下列行政区的简称中,与河流湖泊无关的是. A.湘 B.滇 C.鲁 D.闽 B,千足金是什么意思 削冰取火的具体方法 黄金转运珠一定要别人送的才有意义么?要别人送的才有意义么?她让我送她,在宁夏大概价格是多少?在宁夏大武口什么地方有买的. 仿写句子,美是什么 冰为什么能取火?注意是“为什么”,光说“凸透镜”是占50%的 一艘小船逆水匀速行驶,经过一座桥下时从船上掉下一木板到水中,船夫半小时后才发现,立即掉头追赶,在桥下有游5.0km处追上.设小船划行速度大小始终不变,求:(1)小船追上木板所用的时间. a货千足金是什么意思 冰透镜取火是什么原理 带有方向词的城市名越多越好 nacl的ph值 一天中太阳做了多少好事,她陪着(),看他们() _______学说的建立被誉为19世纪自然科学的三大发现之一百分之百对哦! 马路上的监控器能拍多远? 莲生长繁殖特别快的原因. 含有方向性的词语 镜面银与银浆是不是都含银子成分 莲生长繁殖得特别快的原因 四种泳姿里,哪种速度最快?哪种最慢?另外,我还想知道,四种泳姿的起源与发明的先后顺序等等相关内容.谢谢! 关于冬天优美句段,越多越好.(至少五个段,十五个句子) 莲为什么生长繁殖快WHY? 鱼类的呼吸方式是什么 人们为减少氟利昂对我们的危害采取了哪些措施? 五个英语句子(要好的,优美的)快 为什么说:第二次工业革命与第一次工业革命相比突出的特点有“自然科学成就与工业生产紧密结合“这句话究竟是么意思 在四种泳姿中哪种速度最快哪种最慢?泳姿共有仰、蛙、蝶、自四种,但相比之下哪种速度最快呢? 木器漆配方的基本构成是什么?学海无涯苦作舟! 含有方位的词语41 四种泳姿的理论知识 实色木器漆配制时有哪些注意点? 写出含有方位的词语.比如:南辕北辙.等..越多越好.7点来看. 四种泳姿的英文怎么说? 有谁知道环保木器漆的组成成分吗?真的是不含甲醛吗? 开油水对人体有什么危害? 8个转运珠代表什么意思 对于木器漆的刺鼻橡胶味是什么成分?怎么去除木器漆上的刺鼻橡胶味?好像叫酚醛吧 运用了象征手法的诗词.只要是象征手法的诗就可以.并写出哪句诗运用了象征手法. 带有方位的诗句 要 用象征手法的语段(8句)急~ 生物进化论起源 第二次工业革命的理论基础 法语中,名词主语+etre+形容词,形容词修饰的是这个名词主语么比如,Le joli mannequin est chinois.这句话中chionis修饰的是名词主语mannequin么 生物进化论诞生的标志和主要观点是什么,急用! 第三次工业革命有什么理论基础 为什么水是生命的基础?水为什么是生命的基础啊,生命需要水 进化论到底是科学还是学说?科学或者说实证科学要求某种理论是可被验证的,进化论能被证明是事实吗? 1870年以后工业与科学的结合大大加强,推动了什么事件的进行?哪项科学发现为这次工业革命奠定了理论基础 太阳做了哪些好事 生物进化论学说的创立者是: 为什么太空中不能拔河、掰手腕之类的运动为什么两个人在太空中拿着麻绳各执一端用力时,两个人的身体会迅速靠近并撞在一起.而掰手腕时,两名航天员的手腕一使劲,身体就会发生反向旋转 推荐一些超优美或大气的诗歌,古文,现代诗歌,散文,如雨巷,错误,醉里挑灯看剑等只要名字就行,多一点. 中表明此行目的的一个短语是什么? 精彩的比赛,作文,五百字,最好是拔河,快点 古文中什么文章大气一点不要文言文 使至塞上 表明诗人身份的一个字是-----;表明了“至塞上”目的的一个短语又是------. 黄金首饰上的 千足金 sw , 青藏铁路是多久完工的? 日自明党提议福岛核电站追加除污费应由湖南男子编造长沙机场“诈弹”虚假恐怖北京今冬预计11月7日起试供暖 保证韩国会外交统一委大举访问开城 韩媒称印度央行再度加息抑通胀飓风袭击德国致多地交通瘫痪 乘客被困德国农场主检查马厩时发现自家马匹驮回美分析称受教育程度越高越易于维持婚姻“10.25”故意伤害案后续 重伤医企业家买富豪榜 富豪榜背后的秘密女护士遭劫持自救 劫持男子已被带走深圳故意杀人警察一审被判死缓 当庭表中央军委部署巡视工作 成立巡视工作领国际晚班车:中国军机连续3天飞越冲绳港媒:联合国作用无可替代 改革迫在眉浙江卫生厅副厅长回应杀医案:医疗场所国家公务员考试报名审查结束 浙江8万风行网“全媒体大数据营销平台”惊艳2李旭利“老鼠仓”案在沪终审定音 法院干净出击 百度安全官网携杀毒卫士全新张祯锦任福建龙海市委书记(简历)高剑父 为了卖画泡茶楼田卫平应邀赴法国参加 “2014法国“三个亚洲案例” 亮相今日美术馆秦皇岛:路遇险情发生 两值班员雪地热气候变化大会:活动家在沙滩上演行为艺台湾\"中研院\"副研究员林泉忠:国台“行政院长”毛治国:为青年人找出路武汉青山:老总举报员工吸毒 员工就是柯文哲“台北宜兰直铁截弯取直穿越水库毛治国“内阁”上任 王金平建议参酌民利辛一货车行驶中成了“火车” 司机竟新书推介沈阳军区战士操重型机枪卧雪猛射“爱情故事”“战斗民族”的日常生活女孩会网友遇\"性变态\" 惨遭性虐无可厚非当然是她!LOL最美华人女玩王儒林:对现在还不收敛不收手的要从严印佣遭香港雇主虐待:脱光淋冷水 吸尘乌鲁木齐连续降雪15小时 33年来同安徽两男子抢劫女子34元 退还20元
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘