oracle怎么显示id,oracle怎么显示行数

如何取得Oracle当前会话的ID

取得Oracle当前会话的ID(Session ID)有3种方法:

网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、小程序制作、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了渝水免费建站欢迎大家使用!

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

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

SID

----------

140

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

SQL SELECT USERENV('SID') FROM DUAL;

USERENV('SID')

--------------

140

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

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

SID

----------

140

142

oracle怎么在生成id时获取id

 一、主键id自增

oracle 中不能设置自动增加,这个和其他数据库不一样,但是有 序列,这个是Oracle自己特有的东西,

1、首先创建序列:create sequence seq;

语法:

CREATE SEQUENCE 序列名

[INCREMENT BY n] --每次加几

[START WITH n] --序列从几开始

[{MAXVALUE/ MINVALUE n|NOMAXVALUE}] --小值、大值限制

比CREATE SEQUENCE seq start with 1 increment by 1; --建立了额从1开始每次加1序列

访问序列时用 序列名称.nextval语法

这就创建好了,然后 seq.nextval 就会返回一个值,不会重复的值,

insert into tablename values(seq.nextval,'test');

insert into tablename values(seq.nextval,'test');

insert into tablename values(seq.nextval,'test');

这样前3个id 分别是 1,2,3

oracle 在sql中怎么获取id

oracle 在sql中怎么获取id

1、对于提交(最后一次操作commit了)的话可以查询那个提交段

SELECT 列名1,列名2……

FROM 表名 VERSIONS BETWEEN TIMESTAMP MINVALUE AND MAXVALUE where

VERSIONS_STARTTIME IS NOT null ORDER BY VERSIONS_STARTTIME DESC;

查出来的第一条就是最后改变的数据

2、如果表里面有序列或固定的排序字段可按倒排序后取第一条

where rownum2 order by 排序字段 desc

3、还有另外一种办法就是利用ORACLE伪列rowid

select * from tbl t1 where t1.rowid=(select max(rowid) from tbl t2)

4、在redo log中找到对应相关的表的插入语句,但是这样找到的是sql语句,而不是数据。查redo log得使用log miner工具


文章标题:oracle怎么显示id,oracle怎么显示行数
转载注明:http://scyanting.com/article/hccjce.html