真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

oracle如何鎖數(shù)據(jù),oracle怎么鎖表

請教關于ORACLE數(shù)據(jù)庫鎖的用法

你這個需求是不能夠通過數(shù)據(jù)庫的事務管理功能來進行實現(xiàn)的,因為數(shù)據(jù)庫執(zhí)行的是嚴格的ACID,提交了就確認持久化了,而不提交就不能夠被其他的事務所訪問,對于update操作來說,會申請排它鎖,這時其他事務是無法訪問該數(shù)據(jù)的,直到commit為止才能夠訪問。

創(chuàng)新互聯(lián)建站是專業(yè)的雙清網(wǎng)站建設公司,雙清接單;提供做網(wǎng)站、成都網(wǎng)站制作,網(wǎng)頁設計,網(wǎng)站設計,建網(wǎng)站,PHP網(wǎng)站建設等專業(yè)做網(wǎng)站服務;采用PHP框架,可快速的進行雙清網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!

我覺得你的需求本事就是破壞事務特性的(只部分滿足ACID),這時要實現(xiàn)的話就只能從程序的級別來進行實現(xiàn),就是在編程的時候實現(xiàn)功能,類似事務的控制要用程序來實現(xiàn),比如更新的日志用緩存存在內存中或寫到一個文件上

ORACLE里幾種鎖模式

ORACLE鎖具體分為以下幾類:

1.按用戶與系統(tǒng)劃分,可以分為自動鎖與顯示鎖

自動鎖:當進行一項數(shù)據(jù)庫操作時,缺省情況下,系統(tǒng)自動為此數(shù)據(jù)庫操作獲得所有有必要的

顯示鎖:某些情況下,需要用戶顯示的鎖定數(shù)據(jù)庫操作要用到的數(shù)據(jù),才能使數(shù)據(jù)庫操作執(zhí)行得更好,顯示鎖是用戶為數(shù)據(jù)庫對象設定的。

2.按鎖級別劃分,可分為共享鎖與排它鎖

共享鎖:共享鎖使一個事務對特定數(shù)據(jù)庫資源進行共享訪問——另一事務也可對此資源進行訪問或獲得相同共享鎖。共享鎖為事務提供高并發(fā)性,但如拙劣的事務設計+共享鎖容易造成死鎖或數(shù)據(jù)更新丟失。

排它鎖:事務設置排它鎖后,該事務單獨獲得此資源,另一事務不能在此事務提交之前獲得相同對象的共享鎖或排它鎖。

3.按操作劃分,可分為DML鎖、DDL鎖

+DML鎖又可以分為,行鎖、表鎖、死鎖

-行鎖:當事務執(zhí)行數(shù)據(jù)庫插入、更新、刪除操作時,該事務自動獲得操作 表中操作行的排它鎖。

-表級鎖:當事務獲得行鎖后,此事務也將自動獲得該行的表鎖(共享鎖),以防止其它事務進行DDL語句影響記錄行的更新。事務也可以在進行 過程中獲得共享鎖或排它鎖,只有當事務顯示使用LOCK TABLE語 句顯示的定義一個排它鎖時,事務才會獲得表上的排它鎖,也可使用

LOCK TABLE顯示的定義一個表級的共享鎖(LOCK TABLE具體用法請參 考相關文檔)。

-死鎖:當兩個事務需要一組有沖突的鎖,而不能將事務繼續(xù)下去的話,就 出現(xiàn)死鎖。

如事務1在表A行記錄#3中有一排它鎖,并等待事務2在表A中記錄#4 中排它鎖的釋放,而事務2在表A記錄行#4中有一排它鎖,并等待事務 1在表A中記錄#3中排它鎖的釋放,事務1與事務2彼此等待,因此就造 成了死鎖。死鎖一般是因拙劣的事務設計而產生。

死鎖只能使用SQL下:alter system kill session 'sid,serial#';

或者使用相關操作系統(tǒng)kill進程的命令,如UNIX下kill -9 sid,或者 使用其它工具殺掉死鎖進程。

+DDL鎖又可以分為:排它DDL鎖、共享DDL鎖、分析鎖

-排它DDL鎖:創(chuàng)建、修改、刪除一個數(shù)據(jù)庫對象的DDL語句獲得操作對象的 排它鎖。

如使用alter table語句時,為了維護數(shù)據(jù)的完成性、一致性、

合法性,該事務獲得一排它DDL鎖。

-共享DDL鎖:需在數(shù)據(jù)庫對象之間建立相互依賴關系的DDL語句通常需共享

獲得DDL鎖。

如創(chuàng)建一個包,該包中的過程與函數(shù)引用了不同的數(shù)據(jù)庫表,

當編譯此包時,該事務就獲得了引用表的共享DDL鎖。

-分析鎖:ORACLE使用共享池存儲分析與優(yōu)化過的SQL語句及PL/SQL程序,使

運行相同語句的應用速度更快。一個在共享池中緩存的對象獲得

它所引用數(shù)據(jù)庫對象的分析鎖。分析鎖是一種獨特的DDL鎖類型,

ORACLE使用它追蹤共享池對象及它所引用數(shù)據(jù)庫對象之間的依賴 關系。當一個事務修改或刪除了共享池持有分析鎖的數(shù)據(jù)庫對象

時,ORACLE使共享池中的對象作廢,下次在引用這條SQL/PLSQL語 句時,ORACLE重新分析編譯此語句。

4.內部閂鎖

內部閂鎖:這是ORACLE中的一種特殊鎖,用于順序訪問內部系統(tǒng)結構。

當事務需向緩沖區(qū)寫入信息時,為了使用此塊內存區(qū)域, ORACLE首先必須取得這塊內存區(qū)域的閂鎖,才能向此塊內存寫入

信息。

oracle表在什么情況下會被鎖住

在對指定表做append操作,其他再做truncate時候,會產生鎖表,如下驗證步驟,

1、創(chuàng)建測試表,

create table test_lock(id number, value varchar2(200));

2、執(zhí)行append語句;并且不做提交,insert /*+append*/ into test_lock values(1,1);

3、再次執(zhí)行清表語句,truncate table test_lock;報鎖表錯誤,

4、查看鎖表語句,發(fā)現(xiàn)被鎖表,

select b.object_name, t.*

from v$locked_object t, user_objects b

where t.object_id = b.object_id

Oracle中的鎖

這些是基礎,必須掌握:鎖定的概念:鎖定是數(shù)據(jù)庫用來控制共享資源并發(fā)布訪問的機制。在多用戶環(huán)境下,多個用戶可同時訪問相同的數(shù)據(jù)。Oracle 提供鎖以確保在多用戶環(huán)境下數(shù)據(jù)的完整性和一致性。在提交或回滾事務之前,Oracle 會鎖定正被修改的數(shù)據(jù)。在用戶完成或回滾事務之后,鎖會自動釋放。只有在提交或回滾事物之后,其他用戶才可以更新這些數(shù)據(jù)。鎖的兩種級別為:行級鎖和表級鎖。行級鎖主要用于特定的行,表級鎖主要用于整個表,下面我就行級鎖和表級鎖來個說明:行級鎖行級鎖只對用戶正在訪問的行進行鎖定。如果該用戶正在修改某行,那么其他用戶就可以更新同一表中該行之外的數(shù)據(jù)。例如:如果用戶1正在更新Jobs 表中的第一行,則用戶2可以同時修改該表中的第二行。也就是說除了該表中的第一行,其他用戶可以修改任意行,但是第一行的數(shù)據(jù)其他用戶只能select。行級鎖是一種排他鎖,防止其他事務修改此行,但是不會阻止讀取此行的操作。在使用INSERT、UPDATE、DELETE 和SELECT…FOR UPDATE 等 語句時,Oracle 會自動應用行級鎖鎖定。SELECT...FOR UPDATE 語句允許用戶每次選擇多行記錄進行更新,這些記錄會被鎖定,且只能由發(fā)起查詢的用戶進行編輯。只有在回滾或提交事務之后,鎖定才會釋放,其他用戶才可以編輯這些記錄。SELECT...FOR UPDATE 語句的語法如下: SELECT ... FOR UPDATE [OF column_list][WAIT n|NOWAIT];其中:OF 子句用于指定即將更新的列,即鎖定行上的特定列。WAIT 子句指定等待其他用戶釋放鎖的秒數(shù),防止無限期的等待?!笆褂肍OR UPDATE WAIT”子句的優(yōu)點如下:⒈防止無限期地等待被鎖定的行;⒉允許應用程序中對鎖的等待時間進行更多的控制。⒊對于交互式應用程序非常有用,因為這些用戶不能等待不確定舉例:比如一個用戶在SQL PLUS下輸入這條語句:SQLSELECT * FROM order_master WHERE vencode='V002' FOR UPDATE;此時再開啟一個SQL PLUS,以相同的用戶登陸,執(zhí)行下面的命令。SQL SELECT * FROM order_master WHERE vencode='V02' FOR UPDATE WAIT 5;由于要更新的行已經被鎖定,上述命令在等待5秒鐘之后返回,并給出如下的錯誤信息:ERROR 位于第1行;ORA-30006;資源已被占用;執(zhí)行操作時出現(xiàn)WAIT超時。PS:再開啟的SQL PLUS 是以相同用戶登陸的,用其他用戶登陸更是不可能。表級鎖表級鎖被鎖定的表,暫時放在內存中,不提交不進去數(shù)據(jù)庫,也就是說,多個用戶在同一時間,同時修改同一個表的同一行時,同時點提交,但是還是按隨機的先后被提交進數(shù)據(jù)庫,而不是同時被提交,而是先隨機存儲后,被再次提交的覆蓋。表級鎖將保護表數(shù)據(jù),在事務處理過程中,表級鎖會限制對整個表的訪問??梢允褂肔OCK TABLE 語句顯示地鎖定表。表級鎖用來限制對表執(zhí)行添加、更新和刪除等修改操作。鎖定表的語法如下:LOCK TABLE table_name IN lock_mode MODE [NOWAIT];其中:lock_mode 是鎖定的模式。NOWAIT 關鍵字用于防止無限期的等待其他用戶釋放鎖。表級鎖的模式包括以下內容:行共享 (ROW SHARE, RS): 允許其他用戶訪問和鎖定該表,但是禁止排他鎖定整個表。行共享鎖鎖定后,在同一時刻,不同用戶可以對同一個表中的被行共享鎖鎖定后的該行,具備增、刪、改、查的功能。行排他(ROW EXCLUSIVE, RX):與行共享模式相同,同時禁止其他用戶在此表上使用共享鎖。使用SELECT...FOR UPDATE 語句會在表上自動應用排他鎖。被行排他后,其他用戶不能同時修改該行,但是可以插入行,可以查詢該行,其他用戶也不能再在該表上對此行進行排他。共享(SHARE, S):共享鎖將鎖定表,僅允許其他用戶查詢表中的行,但不允許插入、更新或刪除行。多個用戶可以同時在同一個表中放置共享鎖,即允許資源共享,因此得名“共享鎖”。例如,如果用戶每天都需要在結帳時更新日銷售表,則可以在更改該表時使用共享鎖以確保數(shù)據(jù)的一致性。也就是說該表只能查,其他用戶想修改表中行的數(shù)據(jù),只需要對該表進行共享鎖。共享行排他(SHARE ROW EXCLUSIVE , SPX):執(zhí)行比共享表更多的限制。防止其他事務在表上應用共享鎖、共享行排他鎖以及排他鎖。共享行排他是除了該行以外的其他行也不能增、刪、改。只能在此表中加低級表。要是想在該表中更改其他行的數(shù)據(jù),就只有其他用戶對該行進行共享行排他鎖,也僅僅只能修改被這個用戶鎖定的行,而其他的行也修改不了。排他(EXCLUSIVE,E):對表執(zhí)行最大限制。除了允許其他用戶查詢該表的記錄,排他鎖防止其他事務對表做任何更改或在表上應用任何類型的鎖。這個鎖應該叫鎖中之王,他鎖住了的話,其他用戶就只有查詢的功能了,就別想在該表中干別的事了。BTW:在能加很多鎖的表中,如果第一個用戶對該表鎖定時,沒有使用“NOWAIT”語句,是需要第一個用戶對該表COMMIT或ROLLBACK 命令釋放鎖定后,其他用戶才能對該表進行鎖定。如果其他用戶違反了該條,就會無期限的等待。。。。SQL LOCK TABLE order_mater IN SHARE MODE;而使用下面的語句就可以很少的預防這種情況的存在:SQL LOCK TBALE order_mater IN SHARE MODE NOWAIT;這是些擴展的內容,供大家參考

1 引言—數(shù)據(jù)庫鎖的基本概念 為了確保并發(fā)用戶在存取同一數(shù)據(jù)庫對象時的正確性(即無丟失修改、可重復讀、不讀“臟”數(shù)據(jù)),數(shù)據(jù)庫中引入了鎖機制?;镜逆i類型有兩種:排它鎖(Exclusive locks記為X鎖)和共享鎖(Share locks記為S鎖)。 排它鎖:若事務T對數(shù)據(jù)D加X鎖,則其它任何事務都不能再對D加任何類型的鎖,直至T釋放D上的X鎖;一般要求在修改數(shù)據(jù)前要向該數(shù)據(jù)加排它鎖,所以排它鎖又稱為寫鎖。 共享鎖:若事務T對數(shù)據(jù)D加S鎖,則其它事務只能對D加S鎖,而不能加X鎖,直至T釋放D上的S鎖;一般要求在讀取數(shù)據(jù)前要向該數(shù)據(jù)加共享鎖,所以共享鎖又稱為讀鎖。 2 Oracle 多粒度封鎖機制介紹 根據(jù)保護對象的不同,Oracle數(shù)據(jù)庫鎖可以分為以下幾大類: (1) DML lock(data locks,數(shù)據(jù)鎖):用于保護數(shù)據(jù)的完整性; (2) DDL lock(dictionary locks,字典鎖):用于保護數(shù)據(jù)庫對象的結構(例如表、視圖、索引的結構定義); (3) internal locks 和l a t c h es(內部鎖與閂):保護內部數(shù)據(jù)庫結構; (4) distributed locks(分布式鎖):用于OPS(并行服務器)中; (5) PCM locks(并行高速緩存管理鎖):用于OPS(并行服務器)中。 本文主要討論DML(也可稱為data locks,數(shù)據(jù)鎖)鎖。從封鎖粒度(封鎖對象的大?。┑慕嵌瓤矗琌racle DML鎖共有兩個層次,即行級鎖和表級鎖。 2.1 Oracle的TX鎖(行級鎖、事務鎖) 許多對Oracle不太了解的技術人員可能會以為每一個TX鎖代表一條被封鎖的數(shù)據(jù)行,其實不然。TX的本義是Transaction(事務),當一個事務第一次執(zhí)行數(shù)據(jù)更改(Insert、Update、Delete)或使用SELECT… FOR UPDATE語句進行查詢時,它即獲得一個TX(事務)鎖,直至該事務結束(執(zhí)行COMMIT或ROLLBACK操作)時,該鎖才被釋放。所以,一個TX鎖,可以對應多個被該事務鎖定的數(shù)據(jù)行。 在Oracle的每行數(shù)據(jù)上,都有一個標志位來表示該行數(shù)據(jù)是否被鎖定。Oracle不象其它一些DBMS(數(shù)據(jù)庫管理系統(tǒng))那樣,建立一個鏈表來維護每一行被加鎖的數(shù)據(jù),這樣就大大減小了行級鎖的維護開銷,也在很大程度上避免了其它數(shù)據(jù)庫系統(tǒng)使用行級封鎖時經常發(fā)生的鎖數(shù)量不夠的情況。數(shù)據(jù)行上的鎖標志一旦被置位,就表明該行數(shù)據(jù)被加X鎖,Oracle在數(shù)據(jù)行上沒有S鎖。

2.2 TM鎖(表級鎖) 2.2.1 意向鎖的引出 表是由行組成的,當我們向某個表加鎖時,一方面需要檢查該鎖的申請是否與原有的表級鎖相容;另一方面,還要檢查該鎖是否與表中的每一行上的鎖相容。比如一個事務要在一個表上加S鎖,如果表中的一行已被另外的事務加了X鎖,那么該鎖的申請也應被阻塞。如果表中的數(shù)據(jù)很多,逐行檢查鎖標志的開銷將很大,系統(tǒng)的性能將會受到影響。為了解決這個問題,可以在表級引入新的鎖類型來表示其所屬行的加鎖情況,這就引出了“意向鎖”的概念。 意向鎖的含義是如果對一個結點加意向鎖,則說明該結點的下層結點正在被加鎖;對任一結點加鎖時,必須先對它的上層結點加意向鎖。如:對表中的任一行加鎖時,必須先對它所在的表加意向鎖,然后再對該行加鎖。這樣一來,事務對表加鎖時,就不再需要檢查表中每行記錄的鎖標志位了,系統(tǒng)效率得以大大提高。 2.2.2 意向鎖的類型 由兩種基本的鎖類型(S鎖、X鎖),可以自然地派生出兩種意向鎖: 意向共享鎖(Intent Share Lock,簡稱IS鎖):如果要對一個數(shù)據(jù)庫對象加S鎖,首先要對其上級結點加IS鎖,表示它的后裔結點擬(意向)加S鎖; 意向排它鎖(Intent Exclusive Lock,簡稱IX鎖):如果要對一個數(shù)據(jù)庫對象加X鎖,首先要對其上級結點加IX鎖,表示它的后裔結點擬(意向)加X鎖。 另外,基本的鎖類型(S、X)與意向鎖類型(IS、IX)之間還可以組合出新的鎖類型,理論上可以組合出4種,即:S+IS,S+IX,X+IS,X+IX,但稍加分析不難看出,實際上只有S+IX有新的意義,其它三種組合都沒有使鎖的強度得到提高(即:S+IS=S,X+IS=X,X+IX=X,這里的“=”指鎖的強度相同)。所謂鎖的強度是指對其它鎖的排斥程度。 這樣我們又可以引入一種新的鎖的類型。 共享意向排它鎖(Shared Intent Exclusive Lock,簡稱SIX鎖) :如果對一個數(shù)據(jù)庫對象加SIX鎖,表示對它加S鎖,再加IX鎖,即SIX=S+IX。例如:事務對某個表加SIX鎖,則表示該事務要讀整個表(所以要對該表加S鎖),同時會更新個別行(所以要對該表加IX鎖)。 這樣數(shù)據(jù)庫對象上所加的鎖類型就可能有5種:即S、X、IS、IX、SIX。 具有意向鎖的多粒度封鎖方法中任意事務T要對一個數(shù)據(jù)庫對象加鎖,必須先對它的上層結點加意向鎖。申請封鎖時應按自上而下的次序進行;釋放封鎖時則應按自下而上的次序進行;具有意向鎖的多粒度封鎖方法提高了系統(tǒng)的并發(fā)度,減少了加鎖和解鎖的開銷。 2.2.3 Oracle的TM鎖(表級鎖) Oracle的DML鎖(數(shù)據(jù)鎖)正是采用了上面提到的多粒度封鎖方法,其行級鎖雖然只有一種(即X鎖),但其TM鎖(表級鎖)類型共有5種,分別稱為共享鎖(S鎖)、排它鎖(X鎖)、行級共享鎖(RS鎖)、行級排它鎖(RX鎖)、共享行級排它鎖(SRX鎖),與上面提到的S、X、IS、IX、SIX相對應。需要注意的是,由于Oracle在行級只提供X鎖,所以與RS鎖(通過SELECT … FOR UPDATE語句獲得)對應的行級鎖也是X鎖(但是該行數(shù)據(jù)實際上還沒有被修改),這與理論上的IS鎖是有區(qū)別的。 下表為Oracle數(shù)據(jù)庫TM鎖的相容矩陣(Y=Yes,表示相容的請求; N=No,表示不相容的請求;-表示沒有加鎖請求):

T2

T1 S X RS RX SRX -

----------------------------------------------------

S Y N Y N N Y

X N N N N N Y

RS Y N Y Y Y Y

RX N N Y Y N Y

SRX N N Y N N Y

- Y Y Y Y Y Y

表一:Oracle數(shù)據(jù)庫TM鎖的相容矩陣 一方面,當Oracle執(zhí)行SELECT…FOR UPDATE、INSERT、UPDATE、DELETE等DML語句時,系統(tǒng)自動在所要操作的表上申請表級RS鎖(SELECT…FOR UPDATE)或RX鎖(INSERT、UPDATE、DELETE),當表級鎖獲得后,系統(tǒng)再自動申請TX鎖,并將實際鎖定的數(shù)據(jù)行的鎖標志位置位(指向該TX鎖);另一方面,程序或操作人員也可以通過LOCK TABLE語句來指定獲得某種類型的TM鎖。下表總結了Oracle中各SQL語句產生TM鎖的情況: SQL語句 表鎖模式 允許的鎖模式

-------------------------------------------------------------------------------------------------

Select * from table_name…… 無 RS、RX、S、SRX、X

Insert into table_name…… RX RS、RX

Update table_name…… RX RS、RX

Delete from table_name…… RX RS、RX

Select * from table_name for update RS RS、RX、S、SRX

lock table table_name in row share mode RS RS、RX、S、SRX

lock table table_name in row exclusive mode RX RS、RX

lock table table_name in share mode S RS、S

lock table table_name in share row exclusive mode SRX RS

lock table table_name in exclusive mode X 無

如何給oracle數(shù)據(jù)庫添加樂觀鎖

樂觀鎖一開始也說了,就是一開始假設不會造成數(shù)據(jù)沖突,在最后提交的時候再進行數(shù)據(jù)沖突檢測。在樂觀鎖中,我們有3種

常用的做法來實現(xiàn)。

[1]第一種就是在數(shù)據(jù)取得的時候把整個數(shù)據(jù)都copy到應用中,在進行提交的時候比對當前數(shù)據(jù)庫中的數(shù)據(jù)和開始的時候更新前取得的數(shù)據(jù)。當發(fā)現(xiàn)兩個數(shù)據(jù)一模一樣以后,就表示沒有沖突可以提交,否則則是并發(fā)沖突,需要去用業(yè)務邏輯進行解決。

[2]第二種樂觀鎖的做法就是采用版本戳,這個在Hibernate中得到了使用。采用版本戳的話,首先需要在你有樂觀鎖的數(shù)據(jù)庫table上建立一個新的column,比如為number型,當你數(shù)據(jù)每更新一次的時候,版本數(shù)就會往上增加1。比如同樣有2個session同樣對某條數(shù)據(jù)進行操作。兩者都取到當前的數(shù)據(jù)的版本號為1,當?shù)谝粋€session進行數(shù)據(jù)更新后,在提交的時候查看到當前數(shù)據(jù)的版本還為1,和自己一開始取到的版本相同。就正式提交,然后把版本號增加1,這個時候當前數(shù)據(jù)的版本為2。當?shù)诙€session也更新了數(shù)據(jù)提交的時候,發(fā)現(xiàn)數(shù)據(jù)庫中版本為2,和一開始這個session取到的版本號不一致,就知道別人更新過此條數(shù)據(jù),這個

時候再進行業(yè)務處理,比如整個Transaction都Rollback等等操作。在用版本戳的時候,可以在應用程序側使用版本戳的驗證,也可以在數(shù)據(jù)庫側采用Trigger(觸發(fā)器)來進行驗證。不過數(shù)據(jù)庫的Trigger的性能開銷還是比較的大,所以能在應用側進行驗證的話還是推薦不用Trigger。

[3]第三種做法和第二種做法有點類似,就是也新增一個Table的Column,不過這次這個column是采用timestamp型,存儲數(shù)據(jù)最后更新的時間。在Oracle9i以后可以采用新的數(shù)據(jù)類型,也就是timestamp with time zone類型來做時間戳。這種Timestamp的數(shù)據(jù)精度在Oracle的時間類型中是最高的,精確到微秒(還沒與到納秒的級別),一般來說,加上數(shù)據(jù)庫處理時間和人的思考動作時間,微秒級別是非常非常夠了,其實只要精確到毫秒甚至秒都應該沒有什么問題。和剛才的版本戳類似,也是在更新提交的時候檢查當前數(shù)據(jù)庫中數(shù)據(jù)的時間戳和自己更新前取到的時間戳進行對比,如果一致則OK,否則就是版本沖突。如果不想把代碼寫在程序中或者由于別的原因無法把代碼寫在現(xiàn)有的程序中,也可以把這個時間戳樂觀鎖邏輯寫在Trigger或者存儲過程中。


分享題目:oracle如何鎖數(shù)據(jù),oracle怎么鎖表
網(wǎng)頁鏈接:http://weahome.cn/article/hchpic.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部