OceanBase 重取行

2021-06-30 15:57 更新

對于某些類型的結(jié)果集,結(jié)果集支持 refreshRow 方法來重新獲取數(shù)據(jù),包括返回數(shù)據(jù)庫以重新獲取與結(jié)果集中的 n 行相對應(yīng)的數(shù)據(jù)庫行,從當(dāng)前行開始,其中 n 是獲取大小。

可以查看數(shù)據(jù)庫在結(jié)果集之外的更新操作,但是取決于該事務(wù)的隔離級別。

因為僅重新獲取與結(jié)果集中已存在的行相對應(yīng)的行,所以對于自原始查詢以來已在數(shù)據(jù)庫中插入或刪除的行不執(zhí)行任何操作。重新獲取會忽略已插入的行,即使從數(shù)據(jù)庫中刪除了相應(yīng)的行,行仍將保留在結(jié)果集中。當(dāng)嘗試重新獲取數(shù)據(jù)庫中已刪除的行時,結(jié)果集中的相應(yīng)行將保持其原始值。

說明 
如果您聲明 ?TYPE_SCROLL_SENSITIVE? 結(jié)果集是基于具有特定條件的查詢,然后從外部更新該行以使列值不再與查詢條件匹配,那么驅(qū)動程序的行為就好像該行已從數(shù)據(jù)庫中刪除而該查詢未檢索到該行。因此,調(diào)用? refreshRow ?方法時,看不到特定行的更新。

以下是 refreshRow 方法的簽名:

void refreshRow() throws SQLException

調(diào)用此方法時,您必須位于當(dāng)前行中,不能在行邊界之外,也不能在插入行中。

支持 refreshRow 方法的結(jié)果集類別如下:

  • 回滾敏感/只讀
  • 回滾敏感/可更新
  • 回滾不敏感/可更新

回滾敏感的結(jié)果集功能是通過隱式調(diào)用 ?refreshRow? 來實現(xiàn)的。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號