日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯網營銷解決方案
創(chuàng)新互聯OceanBase教程:OceanBase 限制和降級規(guī)則

某些類型的結果集對于某些查詢是不適用的。如果為運行的查詢指定了不可用的結果集類型或并發(fā)類型,則 OceanBase Connector/J 將遵循相應的規(guī)則來確定最佳可行類型。

實際的結果集類型和并發(fā)類型是在運行語句時確定的,如果所需的結果集類型或并發(fā)類型不可用,則驅動程序將在語句對象上發(fā)出 SQLWarning。SQLWarning 對象包含該請求類型不可用的原因。檢查警告以驗證您是否收到了所需的結果集類型。

結果集限制

對結果集的查詢具有以下限制。不遵循這些準則將導致 OceanBase Connector/J 選擇備用結果集類型或并發(fā)類型。

生成可更新的結果集的限制:

  • 查詢只能從單個表中選擇,并且不能包含任何聯接操作。另外,為了執(zhí)行插入操作,查詢必須選擇所有不可為空的列以及所有沒有默認值的列。

  • 查詢不能使用 SELECT *。

    查詢必須僅選擇表列。不能選擇派生的列或聚合,例如一組列的 SUM 或 MAX。

生成對回滾敏感的結果集的限制:

  • 查詢不能使用 SELECT *

  • 查詢只能從單個表中選擇。

可回滾和可更新的結果集不能有 Stream 列。當服務器必須提取 Stream 列時,會將讀取大小減為 1,并阻塞 Stream 列之后的所有列,直到讀取到 Stream 列為止。結果為無法批量獲取列和滾動瀏覽。

作為 SELECT * 限制的一種解決方法,可以使用表別名,如以下示例所示:


SELECT tab.* FROM TABLE tab ...

可以通過一種簡單的方法來確定查詢是否可能生成回滾敏感或可更新的結果集:如果可以合法地將 ROWID 列添加到查詢列表中,則該查詢可能為對回滾敏感或可更新的結果集。

結果集降級規(guī)則

如果指定的結果集類型或并發(fā)類型不可用,那么 OceanBase Connector/J 將根據以下規(guī)則選擇備用類型:

  • 如果指定的結果集類型為 TYPE_SCROLL_SENSITIVE,驅動程序無法滿足該請求,則將嘗試降級為 TYPE_SCROLL_INSENSITIVE。

  • 如果指定或降級的結果集類型為 TYPE_SCROLL_INSENSITIVE,驅動程序無法滿足該請求,則將嘗試降級為 TYPE_FORWARD_ONLY。

  • 如果指定的并發(fā)類型為 CONCUR_UPDATABLE,驅動程序無法滿足該請求,則將嘗試降級為 CONCUR_READ_ONLY

說明 
OceanBase Connector/J 對結果集類型和并發(fā)類型的任何操作都是相互獨立的。

運行查詢后,可以通過在結果集對象上調用方法來驗證 OceanBase Connector/J 實際使用的結果集類型和并發(fā)類型。

  • int getType() throws SQLException

    此方法返回用于查詢的結果集類型的 int 值。ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_SENSITIVE 或 ResultSet.TYPE_SCROLL_INSENSITIVE 是可能的值。

  • int getConcurrency() throws SQLException

    此方法返回用于查詢的并發(fā)類型的 int 值。ResultSet.CONCUR_READ_ONLY 或 ResultSet.CONCUR_UPDATABLE 是可能的值。

避免更新沖突

以下是有關 OceanBase Connector/J 可更新結果集的注意事項:

  • 不對可更新結果集強制執(zhí)行寫鎖定。

  • 不檢查與結果集 DELETE 或 UPDATE 操作的沖突。

如果您嘗試對另一個提交事務的行執(zhí)行 DELETE 或 UPDATE 操作,則會發(fā)生沖突。

OceanBase Connector/J 使用 ROWID 唯一標識數據庫表中的一行。只要驅動程序嘗試向數據庫發(fā)送 UPDATE 或 DELETE 操作時 ROWID 是有效的,該操作就會運行。

驅動程序將不會報告其他已提交事務所做的任何更改。任何沖突都將被忽略,并且您的更改將覆蓋以前的更改。

為避免此類沖突,請在運行生成結果集的查詢時使用 FOR UPDATE 功能。這將避免沖突,但也將阻止同時訪問數據。數據項只能同時保留一個寫鎖。


新聞標題:創(chuàng)新互聯OceanBase教程:OceanBase 限制和降級規(guī)則
本文地址:http://www.5511xx.com/article/djcsosc.html