主頁(yè) > 知識(shí)庫(kù) > Oracle數(shù)據(jù)更改后出錯(cuò)的解決方法

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

熱門標(biāo)簽:車瑪仕極限運(yùn)動(dòng)場(chǎng)所地圖標(biāo)注 高德地圖標(biāo)注公司名字大全 電渠外呼系統(tǒng) 外呼電話系統(tǒng)用卡嗎 七日殺a19.5全地圖標(biāo)注 廣東營(yíng)銷智能外呼系統(tǒng)商家 N個(gè)你智能電銷機(jī)器人 地圖標(biāo)注怎么保存 騰訊地圖標(biāo)注要費(fèi)用嗎

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

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

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

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

-- 備份測(cè)試庫(kù)中的taw_rm_user表
create table comtest.taw_rm_user_bak
as
select * from comtest.taw_rm_user
-- 恢復(fù)正式庫(kù)中的taw_rm_user.password字段
declare
rec_comtest comtest.taw_rm_user%rowtype;
cursor cur_comtest is
select * from comtest.taw_rm_user;
begin
open cur_comtest;
loop
fetch cur_comtest into rec_comtest;
exit when cur_comtest%notfound;
update com.taw_rm_user
set com.taw_rm_user.password=rec_comtest.password
where com.taw_rm_user.user_id=rec_comtest.user_id;
end loop;
close cur_comtest;
commit;
end;

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

您可能感興趣的文章:
  • ORACLE出現(xiàn)錯(cuò)誤1033和錯(cuò)誤ORA-00600的解決方法
  • oracle中文亂碼的解決方法
  • 64位win7下pl/sql無(wú)法連接oracle解決方法
  • 登錄oracle數(shù)據(jù)庫(kù)時(shí)密碼忘記的解決方法
  • oracle12c安裝報(bào)錯(cuò):PRVF-0002的解決方法
  • oracle修改SGA后無(wú)法啟動(dòng)問(wèn)題分析及解決方法
  • Oracle Connect to Idle Instance解決方法
  • Oracle用戶密碼含有特殊字符導(dǎo)致無(wú)法登陸解決方法
  • Oracle數(shù)據(jù)庫(kù)賬號(hào)被鎖定解決方法
  • Oracle 11g2的監(jiān)聽(tīng)器配置教程
  • Oracle監(jiān)聽(tīng)器服務(wù)不能啟動(dòng)的解決方法

標(biāo)簽:蘇州 長(zhǎng)沙 棗莊 大興安嶺 來(lái)賓 贛州 遼寧 玉樹(shù)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Oracle數(shù)據(jù)更改后出錯(cuò)的解決方法》,本文關(guān)鍵詞  Oracle,數(shù)據(jù),更改,后,出,錯(cuò)的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Oracle數(shù)據(jù)更改后出錯(cuò)的解決方法》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Oracle數(shù)據(jù)更改后出錯(cuò)的解決方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章