我在創建腳本中使用選項刪除行時有一個全局臨時表(GTT)。我希望能夠讓不同的用戶在GTT中看到他們自己的數據,而不是其他人的會話的數據。這在我們的測試環境中完美運行。具有「On commit delete rows」的全局臨時表不包含任何數據
但是後來我部署了GTT作爲客戶端數據庫功能更新的一部分。客戶打電話給我感到不安和擔心,因爲GTT沒有任何數據,他們不知道爲什麼。
特別是,如果有人做:
insert into my_GTT (description) values ('Happy happy joy joy')
數據庫會迴應:
1 row inserted.
然而,如果相同的最終用戶嘗試:
select * from my_GTT
該數據庫將作出迴應:
0 rows returned.
此問題發生在客戶端網站上,我們無法在內部複製它。什麼可能導致這種行爲?
什麼是「玩伴」 - 是另一個會話?你有沒有試過把表格改成ON COMMIT PRESERVE ROWS,只是爲了看看會發生什麼? – 2010-05-03 04:22:37
「玩伴」是最終用戶。這個問題發生在客戶端,我們不能在內部重現它。此外,我無法控制更改表格代碼,因爲它位於客戶端網站上。 – glasnt 2010-05-03 05:26:48
你有沒有深入到底?從表面上看,權限問題(即允許寫入但不能讀取的用戶)看起來比自動提交設置更不可能。 – Peter 2011-11-04 21:48:18