oracle表怎么取id oracle获取表的建表语句

oracle 怎么得到一个表中连续ID中断开的ID

我的思路是用1~10

专注于为中小企业提供网站设计、做网站服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业南涧免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上1000家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

减去

除了断点以外的ID,

然后查找(断点ID-1)

那一行的记录。这个脚本具有可扩展性。当你取的是100或者其他数值也可以。我用的数据库是oracle。具体做法:

1

新建一张表B,

为了存全部的1

~10

CREATE

table

B

as

select

ID

FROM

A

where

1=2;

2

向B表中插入1~10,

C表是数据库中任意表要求至少有11行数据,为了取rownum

insert

into

B

select

rownum

from

C

where

rownum

11;

3

查找断点

select

*

from

A

where

ID

IN

(select

ID

-1

from

B

where

ID

not

in

(select

ID

from

A)

)

;

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想写一个select,把表student中所有记录的第一个字段id取出,组成字符串

oracle没有数组 但是可以在9i以上的版本使用select wmsys.wm_concat(id) id from student 来实现以逗号分割的形式

如何取得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 oracle获取表的建表语句
网页链接:http://ybzwz.com/article/hpiesh.html