如何取得Oracle当前会话的编号(Session ID)?

    下面这个应当是大家常用的.

SQL> SELECT SID FROM V$MYSTAT WHERE ROWNUM =1;

       SID
----------
     19949

    下面一个更简单, 但只能在Oracle 10g及以上版本中使用.

SQL> SELECT USERENV('SID') FROM DUAL;

USERENV('SID')
--------------
         19949

    下面这个方法我有时也用, 因为不想用最上面的SQL去写一个子查询, 发现在Oracle 9i上很正常, 但在Oracle 10g上常常返回两行, 因此不能再使用它了.

SQL> SELECT SID FROM V$SESSION WHERE AUDSID=USERENV('SESSIONID');

       SID
----------
     19949
     19829

    孔乙己可以写八种茴字, 我已会三种了.

留言 (3)

偶一直是用第一种,唉

孔乙己是会四种写法吧?哈哈

第三种方法在 10g 下为什么会显示出2行, 老大有没有研究一下。

发表留言:

« Previous | Main | Next »

英语900句 | English 900

  • I am old enough to make up my own mind.
  • 我已经长大了, 可以自己拿主意了.
  • Your work seems not satisfactory.
  • 你的工作看起来并不令人满意.
  • What about your opinion?
  • 你怎么想?
  • I generally agree with you.
  • 我大体上同意你的看法.
  • Would you open the door for me, please?
  • 你能替我开门吗?