国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > Oracle > 正文

Oracle數(shù)據(jù)更改后出錯的解決方法

2020-07-26 14:19:44
字體:
供稿:網(wǎng)友

在使用Oracle的過程中我們給系統(tǒng)創(chuàng)建了兩個用戶:com和comtest。前者存放的是正式庫數(shù)據(jù),后者存放的測試庫數(shù)據(jù)。它們都有一個taw_rm_user表,存放了使用該系統(tǒng)的用戶基本信息,于是就是把其中的password字段全部改成了123456。

DMP備份文件創(chuàng)建后,經(jīng)過一段時間創(chuàng)建了幾個新的用戶,并且有些舊的用戶的其他信息也已經(jīng)更改了。但是需要把舊用戶的密碼恢復(fù)到從前,直接把備份文件中的taw_rm_user表導(dǎo)入com用戶下是肯定不行的。經(jīng)過分析后,得到了一個解決方案。大致思路是:

1. 將測試庫的taw_rm_user表用CREATE TABLE AS語句導(dǎo)到一個臨時的備份表中(測試庫中的用戶表也不能亂改);
2. 再將taw_rm_user表刪除;
3. 然后將DMP備份文件的taw_rm_user表用IMP命令導(dǎo)入到comtest下;
4. 再自己編寫一個PL/SQL程序塊,通過使用游標(biāo)循環(huán),將這個新導(dǎo)入的表中的password字段更新到com.taw_rm_user表的對應(yīng)記錄中。(注意,這里只更新對應(yīng)記錄,對新加入的用戶記錄不作任何修改);
5. 再將之前備份的taw_rm_user表恢復(fù)到comtest下即可。

其中使用的關(guān)鍵SQL語句如下:

-- 備份測試庫中的taw_rm_user表create table comtest.taw_rm_user_bakasselect * from comtest.taw_rm_user-- 恢復(fù)正式庫中的taw_rm_user.password字段declarerec_comtest comtest.taw_rm_user%rowtype;cursor cur_comtest isselect * from comtest.taw_rm_user;beginopen cur_comtest;loopfetch cur_comtest into rec_comtest;exit when cur_comtest%notfound;update com.taw_rm_userset com.taw_rm_user.password=rec_comtest.passwordwhere com.taw_rm_user.user_id=rec_comtest.user_id;end loop;close cur_comtest;commit;end;

這樣就可以實現(xiàn)在不更改其他所有信息的情況下,將所有舊用戶的密碼恢復(fù)到從前。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 井研县| 齐齐哈尔市| 塔河县| 灯塔市| 恩平市| 宜昌市| 扶绥县| 蒙阴县| 石棉县| 隆尧县| 古田县| 开阳县| 赞皇县| 万荣县| 黄大仙区| 玛纳斯县| 鄂尔多斯市| 新乡市| 厦门市| 奇台县| 和田县| 修武县| 岗巴县| 高安市| 九台市| 锦屏县| 合作市| 岐山县| 全椒县| 岳阳市| 铜鼓县| 当涂县| 嘉黎县| 阿拉善左旗| 三亚市| 舞钢市| 西乌珠穆沁旗| 祁连县| 酒泉市| 郎溪县| 台中市|