trying make table, getting ora-00907: missing right parenthesis
.
definition:
create table "crawler" ( "id" number(10,0) not null enable default master_seq.nextval, "title" varchar2(500) not null enable, "url" varchar2(500) not null enable, "body" long not null enable, "depth" number(10,0) not null enable default '1', "updated" number(10,0) not null enable, "linked_from" varchar2(500) not null enable, "crawled" number(10,0) not null enable default '0' );
full text:
error: sqlstate[hy000]: general error: 907 ocistmtexecute: ora-00907: missing right parenthesis (/core-php-src-5.2.5/php-5.2.5/ext/pdo_oci/oci_statement.c:146)
(via php/pdo).
what missing?
you cannot use sequence in create table statement until oracle 11g.i assume using oracle version 11g , below.
in order use auto increment id in create table, have use sequence
create sequence my_table_sequence start 1 maxvalue 999999999999999 minvalue 1 nocycle;
and trigger
create or replace trigger my_trigger before insert on my_table each row begin select my_table_sequence.nextval :new.id dual; end;
and either use trigger above or in insert statements, invoke sequence.nextval inserting data table.
change create table definition way
create table "crawler" ( "id" number(10,0) not null enable, "title" varchar2(500) not null enable, "url" varchar2(500) not null enable, "body" long not null enable, "depth" number(10,0) default '1' not null, "updated" number(10,0) not null enable, "linked_from" varchar2(500) not null enable, "crawled" number(10,0) default '0' not null enable );
Comments
Post a Comment