2010-09-27 110 views
0

全局變量如何在oracle中使用線程安全? 我的場景是同時用戶可以訪問一個包含全局變量的oracle包/程序,我需要爲每個用戶分別備份全局變量值。 每個用戶都屬於不同的java會話,實習生調用這個db包受線程影響的全局變量

Oracle是否在oracle會話中產生了線程。這些線程可以將值賦給全局變量,是否可以將值更改爲其他用戶的線程?

請建議

回答

7

您的問題不存在。全局包變量並不是真正的全球性。每個會話都有自己的變量(即每個用戶,如果用戶多次登錄,他/她在每個會話中都有單獨的值)。

而且你不能自己產生線程。特別是在Unix上,Oracle並沒有使用線程,據我所知。

如果你想使用真正的全局變量,看看一個CONTEXT對象。

+0

+1但我認爲這裏有一些關於「全局」的含義有些混淆 - 可能有其他定義,但在PL/SQL中它們是全局範圍的(即它們可以在程序包中的任何位置引用),但不是(即它們不能在會話之外被引用)。 – 2010-09-28 05:46:50