私はSybase SQL Anywhere 12を使用しています。次の接続を持つテーブルユーザーがいるとしましょう:
conn_name conn_id user_id table_type creator table_name index_id lock_class lock_duration lock_type row_identifier
SQL_DBC_a2a1060 3193 DBA BASE DBA user (NULL) Row Transaction WriteNoPK 37431476262
SQL_DBC_a2a1060 3193 DBA BASE DBA user (NULL) Row Transaction Intent 45309427737
SQL_DBC_a2a1060 3193 DBA BASE DBA user (NULL) Row Transaction WriteNoPK 45309427737
SQL_DBC_a2a1060 3193 DBA BASE DBA user (NULL) Row Transaction Intent 37399035938
SQL_DBC_a2a1060 3193 DBA BASE DBA user (NULL) Row Transaction WriteNoPK 37399035938
SQL_DBC_a2a1060 3193 DBA BASE DBA user (NULL) Row Transaction Intent 37399035939
ここで、Sybase SQL Anywhere 内からSELECT * FROM userを実行すると、期待どおりにすべての行とデータが取得されます。
しかし、OpenSuse 11.4 の iSQL で DBA ユーザーを使用して同じ SQL ステートメントを起動すると、ステートメントが実行され、選択される行に WriteNoPK-Lockflag が設定されるまで結果が返されます。声明は、次のエラーを示しています。
サーバー メッセージ番号 = 8405 重大度 = 21 状態 = 0 行 = 0 テキスト = SQL Anywhere エラー -210: ユーザー 'XYZ' はロックされた 'user' のローを持っています、SQL: 'SELECT * FROM user'
行が WriteNoPK-Locked の場合でも読み取り/選択する可能性はありますか?
どうもありがとう、マックス