使用Oracle11g创建具有自动增量的表

使用Oracle11g创建具有自动增量的表,oracle,oracle11g,Oracle,Oracle11g,我想用自动增量创建表。我正在使用oracle11g数据库 create table employee(id number(6) auto_increment,first_name varchar2(20) default null,last_name varchar2(20) default null,salary number(7) default null); 这是我正在执行的查询,但未创建表。我也试过了 因为我做了 create table employee(id number(6) n

我想用自动增量创建表。我正在使用
oracle11g
数据库

create table employee(id number(6) auto_increment,first_name varchar2(20) default null,last_name varchar2(20) default null,salary number(7) default null);
这是我正在执行的查询,但未创建表。我也试过了

因为我做了

create table employee(id number(6) name_of_sequence.nextval,first_name varchar2(20) default null,last_name varchar2(20) default null,salary number(7) default null);
那么我的表也不会被创建。
谢谢

您可以在oracle中创建一个称为序列的对象,例如

CREATE SEQUENCE my_seq;

然后在存储过程、触发器或客户机代码中使用my_seq.nextval在代码中引用它。序列未绑定到sqlserver中的live列。如前所述,在oracle的更高版本中,这可能是可行的。

我使用的通常做法是使用通常的数据类型integer/number创建列,这种做法对我来说非常有效。表演如下

create table MyTab
(
My_auto_inc integer/number,....
);
当你这样做的时候

Insert Into MyTab(My_auto_inc,...)
Values(Seq_MyTab.nextval,...);

我通常使用Seq后面的表名作为良好的编码实践命名约定易于记忆

自动增量在版本11g中不可用。您需要查找并执行此操作。

Oracle 11g中没有自动增量功能。你有自己的逻辑。您正在查找的功能已被删除。可能的重复项也请参见