最好的方法是批量修改,即每次修改5000條(一次修改不要超過一萬條,否則影響性能). 雖然在11g中,我們也可以選擇使用merge命令,但你的這種情況最好先修改一部分然后看看影響,畢竟在生產環境作這樣的操作風險很大。如果是誤操作,最好還是請DBA來恢復,雖然這樣做會被挨罵,但總比錯上加錯,最后連挨罵的機會都沒有要好得多。如果對這些修改真的有信心,而只是從性能考慮,那可以用下面的方法(pk_col 是表的主鍵
創新互聯是一家專業從事成都做網站、網站建設的網絡公司。作為專業網絡公司,創新互聯依托的技術實力、以及多年的網站運營經驗,為您提供專業的成都網站建設、全網整合營銷推廣及網站設計開發服務!
1、構建臨時表進行主鍵關聯更新
需求:T1表有千萬級別的數據量,需要更新這個表的字段a,b滿足2個條件的記錄。
做法:一般業務會將條件通過excel表格提供給開發,那么開發首先需要將這個excel表格的內容插入到臨時表T2中,考慮到a,b都不是主鍵,那么需要將a,b轉化成主鍵后再插入到T2表中,T2表中還可以保存更新前的數據,方便做數據回滾,T2表中有數據后,就可以執行下面腳本進行更新操作:
ps:c,d是需要更新的操作,e,f是條件。必須強調的是id必須是主鍵
1、構建臨時表進行主鍵關聯更新
需求:T1表有千萬級別的數據量,需要更新這個表的字段a,b滿足2個條件的記錄。
做法:一般業務會將條件通過excel表格提供給開發,那么開發首先需要將這個excel表格的內容插入到臨時表T2中,考慮到a,b都不是主鍵,那么需要將a,b轉化成主鍵后再插入到T2表中,T2表中還可以保存更新前的數據,方便做數據回滾,T2表中有數據后,就可以執行下面腳本進行更新操作:
ps:c,d是需要更新的操作,e,f是條件。必須強調的是id必須是主鍵
把查出來的數據做一個表g,a.rsc_status_cd as rsc_status
使用update g set g.rsc_status = '43'。
使用b表數據更新a表,那么where條件是什么,也就是說,更新a表中哪些數據,用b表中的哪些數據更新,二者的關系是什么。從你的語句中我看不出b表和a表的關聯。
找到關聯條件后,通過關聯條件查出的b表數據是否唯一,如果不唯一,還是會出現“返回值多于一行”的錯誤。
邏輯結構
它由至少一個表空間和數據庫模式對象組成。這里,模式是對象的集合,而模式對象是直接引用數據庫數據的邏輯結構。模式對象包括這樣一些結構:表、視圖、序列、存儲過程、同義詞、索引、簇和數據庫鏈等。邏輯存儲結構包括表空間、段和范圍,用于描述怎樣使用數據庫的物理空間。
總之,邏輯結構由邏輯存儲結構(表空間,段,范圍,塊)和邏輯數據結構(表、視圖、序列、存儲過程、同義詞、索引、簇和數據庫鏈等)組成,而其中的模式對象(邏輯數據結構)和關系形成了數據庫的關系設計。
以上內容參考:百度百科-Oracle數據庫
修改oracle數據庫用戶密碼的步驟如下:
1.打開命令提示符cmd。
2.連接oracle數據庫。
3.連接數據庫用戶shop。
4.解鎖數據庫用戶,以便修改密碼。
5.修改數據庫用戶密碼為123456就行了。這樣就解決了修改oracle數據庫用戶密碼的問題了。
在把Oracle查詢結果轉換為SQL Server的時候要特別當心一些不容易注意到的問題。
我們知道,T-SQL是SQL Server的語言引擎,而Oracle的語言引擎卻是PLSQL.這兩種查詢語言都對
ANSI SQL-92標準進行了擴展以提供額外的支持力度。你所創建的應用程序幾乎都要用到這些補充特性。本文就對最常用的、非標準的Oracle擴展進行了說明,同時還要介紹下如何
對這些擴展進行轉化以用在SQL Server環境下。
列的選擇
用PLSQL執行數據查詢的時候,FROM子句是必須的,這同SQL Server的要求是一樣的。 SELECT語句必須選擇針對的數據表。在Oracle數據庫內有一種特殊的表DUAL.DUAL表由
Oracle連同數據字典一同創建,所有的用戶都可以用名稱DUAL訪問該表。這個表里只有一列DUMMY,該列定義為VARCHAR2
(1)類型,有一行值X.
從DUAL表選擇數據常被用來通過SELECT語句計算常數表達式,由于DUAL只有一行數據,所以常數只返回一次。
Oracle下的DUAL查詢如下所示:
SELECT
‘x’ FROM dual
而對等的SQL Server查詢則是下面這個樣子:
SELECT ‘x’
連接
Oracle用|| 符號作為連接符,而SQL Server的連接符是加號:+ .
Oracle查詢如下所示:
Select ‘Name’ || ‘Last Name’
From tableName
對應的SQL Server查詢如下所示:
Select ‘Name’ + ‘Last Name’
數字取舍
Oracle數據庫內有一個TRUNC函數,該函數返回m位十進制數的n位;如果省略m則n就是0位。m的值可以為負,表示截去小數點左邊m位數字。
在SQL Server下可以用Round或者Floor.
以下是Oracle查詢:
SELECT
TRUNC(15.79,1) "Truncate" FROM DUAL;
下面是同類查詢的SQL Server版本:
SELECT ROUND(15.79, 0) rounded ,
ROUND(15.79, 0,1) truncated
SELECT FLOOR(ROUND(15.79, 0)),
FLOOR(ROUND(15.79, 0,1) )
在把Oracle查詢轉換為SQL Server的時候要特別當心一些不容易注意到的問題。我們知道,T-SQL是SQL Server的語言引擎,而Oracle的語言引擎卻是PLSQL.這兩種查詢語言都對
ANSI SQL-92標準進行了擴展以提供額外的支持力度。你所創建的應用程序幾乎都要用到這些補充特性。本文就對最常用的、非標準的Oracle擴展進行了說明,同時還要介紹下如何
對這些擴展進行轉化以用在SQL Server環境下。
列的選擇
用PLSQL執行數據查詢的時候,FROM子句是必須的,這同SQL Server的要求是一樣的。 SELECT語句必須選擇針對的數據表。在Oracle數據庫內有一種特殊的表DUAL.DUAL表由
Oracle連同數據字典一同創建,所有的用戶都可以用名稱DUAL訪問該表。這個表里只有一列DUMMY,該列定義為VARCHAR2
(1)類型,有一行值X.
從DUAL表選擇數據常被用來通過SELECT語句計算常數表達式,由于DUAL只有一行數據,所以常數只返回一次。
Oracle下的DUAL查詢如下所示:
SELECT
‘x’ FROM dual
而對等的SQL Server查詢則是下面這個樣子:
SELECT ‘x’
連接
Oracle用|| 符號作為連接符,而SQL Server的連接符是加號:+ .
Oracle查詢如下所示:
Select ‘Name’ || ‘Last Name’
From tableName
對應的SQL Server查詢如下所示:
Select ‘Name’ + ‘Last Name’
用alter語句進行修改。
語法:
1
alter table 表名 modify 字段名 字段類型(字段長度);
說明:如果是date等沒有長度的類型,字段長度部分可以省略。
如:目前test表屬性如下
要將name列的字段類型改為date類型,可用如下語句:
1
alter table test modify name date;
此時可見name列的類型已經更新成功。
注意事項:
如果表中有數據盡量不要使用此語句,會造成數據丟失,應在備份的情況下進行修改。
新聞名稱:如何修改oracle數據 如何修改oracle數據庫用戶的讀寫權限
網站路徑:http://m.kartarina.com/article6/hjgcog.html
成都網站建設公司_創新互聯,為您提供手機網站建設、響應式網站、品牌網站建設、網站建設、網站設計、做網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯