Oracle如何查询当前会话的sid

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

    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

    SQL>

 

--本篇文章转自:http://asser123.blog.163.com/blog/static/301701102011224114257516/

你可能感兴趣的:(Oracle如何查询当前会话的sid)