偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

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

數(shù)據(jù)庫 Oracle
在進行Oracle中的數(shù)據(jù)更改的操作時會出現(xiàn)錯誤,那么如何解決這個錯誤問題呢?下文將會為大家解答。

要想改正錯誤,首先要先分析錯誤,下面我們就先來分析分析問題是怎樣的。

問題是這樣的:

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

  DMP備份文件是9月28號創(chuàng)建的,經(jīng)過十一七天長假后到今天,已經(jīng)有十幾天了,我簡單的查了一下日志,發(fā)現(xiàn)已經(jīng)創(chuàng)建了幾個新的用戶,并且有些舊的用戶的其他信息也已經(jīng)更改了。直接把備份文件中的taw_rm_user表導入com用戶下是肯定不行的。經(jīng)過一段時間的冷靜思考后,得到了一個解決方案。

大致思路是:

  1. 將測試庫的taw_rm_user表用CREATE TABLE AS語句導到一個臨時的備份表中(測試庫中的用戶表也不能亂改);

  2. 再將taw_rm_user表刪除;

  3. 然后將DMP備份文件的taw_rm_user表用IMP命令導入到comtest下;

  4. 再自己編寫一個PL/SQL程序塊,通過使用游標循環(huán),將這個新導入的表中的password字段更新到com.taw_rm_user表的對應記錄中。注意,這里只更新對應記錄,對新加入的用戶記錄不作任何修改;

  5. 再將之前備份的taw_rm_user表恢復到comtest下即可。

 

其中使用的兩段關鍵語句如下

  -- 備份測試庫中的taw_rm_user表

  create table comtest.taw_rm_user_bak
  as
  select * from comtest.taw_rm_user

  -- 恢復正式庫中的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;

  這樣就可以在不更改其他所有信息的情況下,將所有舊用戶的密碼恢復到從前。希望上文中講到的內(nèi)容能夠幫到大家。

【編輯推薦】

  1. Oracle性能調整的誤區(qū)
  2. Oracle虛擬專用數(shù)據(jù)控制方法應用
  3. 輕松解決Oracle數(shù)據(jù)庫的服務啟動問題

 

責任編輯:迎迎 來源: 賽迪網(wǎng)
相關推薦

2010-10-29 11:06:12

Oracle scot

2010-04-20 16:46:41

Oracle數(shù)據(jù)庫密碼

2010-10-19 12:22:02

SQL Server遠

2010-11-08 16:16:57

SQL Server遠

2018-05-25 14:40:17

Windows 10Windows屏幕亮度

2010-04-09 15:15:01

Oracle SGA

2010-10-19 11:08:00

SQL Server安

2010-11-16 16:07:32

oracle用戶連接

2010-10-29 13:55:48

Oracle日志文件

2010-05-10 18:30:31

Oracle多表創(chuàng)建

2010-10-29 11:38:50

Oracle syst

2011-08-23 16:45:52

JSP鏈接SQL Se

2010-10-28 17:13:25

Oracle numb

2010-11-19 11:57:15

Oracle密碼丟失

2011-08-22 18:12:20

OracleORA-01591

2009-11-03 14:22:07

Oracle密碼

2010-11-24 15:16:12

MySQL命令行登陸

2010-10-26 15:30:12

連接Oracle數(shù)據(jù)庫

2010-03-10 09:05:47

Windows 7閃屏

2012-09-24 09:27:52

SVN
點贊
收藏

51CTO技術棧公眾號