我想用auto_increment创建表。我正在使用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);
然后我的表也没有创建。 谢谢
答案 0 :(得分:0)
您可以在oracle中创建一个称为序列的对象,例如
CREATE SEQUENCE my_seq;
然后在您的代码中使用my_seq.nextval在存储过程,触发器或客户端代码中引用它。该序列未绑定到sqlserver中的实时列。如前所述,这可能在oracle的更高版本中有可能。
答案 1 :(得分:0)
我使用并且适合我的常用做法是使用通常的数据类型整数/数字创建列。执行如下
create table MyTab
(
My_auto_inc integer/number,....
);
并在插入时执行此操作
Insert Into MyTab(My_auto_inc,...)
Values(Seq_MyTab.nextval,...);
我通常在Seq之后使用表名作为一种易于记忆的良好编码实践命名约定
答案 2 :(得分:0)