ERROR at line 3: ORA-00907: missing right parenthesis

I keep getting the error
ERROR at line 3: ORA-00907: missing right parenthesis
but I don't think that I am missing right parenthesis.
Can anyone help?
Thanks, Beth
CREATE TABLE CUSTOMER                           
  (CUSTOMER_NO NUMBER(8,0) NOT NULL
  CONSTRAINT CUSTOMER_PK PRIMARY KEY(CUSTOMER_NO),                
  CUSTOMER_NAME   VARCHAR2(50) NOT NULL, 
  CUSTOMER_TYPE CHAR(1)
  CONSTRAINT CUST_TYPE 
  CHECK (CUSTOMER_TYPE IN ('B', 'C', 'S')),
  ATTENTION_NAME VARCHAR2(30),
  ADDRESS_1_BILL VARCHAR2(50),
  ADDRESS_2_BILL VARCHAR2(50),
  CITY_BILL VARCHAR2(30),
  STATE_BILL VARCHAR2(20),
  ZIPCODE_BILL NUMBER(5,0),
  COUNTRY_BILL VARCHAR2(30));

Open in new window

ba_trainerAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Kevin CrossChief Technology OfficerCommented:
Doesn't seem like you are missing any parenthesis to me, but maybe I am also missing something.  This shouldn't matter, but you can try it by removing some of the extra spaces/breaks between variable names and its complete definition.
CREATE TABLE CUSTOMER(
	CUSTOMER_NO NUMBER(8,0) NOT NULL CONSTRAINT CUSTOMER_PK PRIMARY KEY(CUSTOMER_NO),                
	CUSTOMER_NAME VARCHAR2(50) NOT NULL, 
	CUSTOMER_TYPE CHAR(1) CONSTRAINT CUST_TYPE CHECK (CUSTOMER_TYPE IN ('B', 'C', 'S')),
	ATTENTION_NAME VARCHAR2(30),
	ADDRESS_1_BILL VARCHAR2(50),
	ADDRESS_2_BILL VARCHAR2(50),
	CITY_BILL VARCHAR2(30),
	STATE_BILL VARCHAR2(20),
	ZIPCODE_BILL NUMBER(5,0),
	COUNTRY_BILL VARCHAR2(30)
);

Open in new window

0
mrjoltcolaCommented:
Actually you are missing a comma. The SQL parser is just confused by it.

There needs to be a comma before the CONSTRAINT line.
CREATE TABLE CUSTOMER                           
  (CUSTOMER_NO NUMBER(8,0) NOT NULL,
  CONSTRAINT CUSTOMER_PK PRIMARY KEY(CUSTOMER_NO),                
  CUSTOMER_NAME   VARCHAR2(50) NOT NULL, 
  CUSTOMER_TYPE CHAR(1)
  CONSTRAINT CUST_TYPE 
  CHECK (CUSTOMER_TYPE IN ('B', 'C', 'S')),
  ATTENTION_NAME VARCHAR2(30),
  ADDRESS_1_BILL VARCHAR2(50),
  ADDRESS_2_BILL VARCHAR2(50),
  CITY_BILL VARCHAR2(30),
  STATE_BILL VARCHAR2(20),
  ZIPCODE_BILL NUMBER(5,0),
  COUNTRY_BILL VARCHAR2(30));

Open in new window

0
jumproosterCommented:
your primary key constraint which you have defined like:

CUSTOMER_NO NUMBER(8,0) NOT NULL,
  CONSTRAINT CUSTOMER_PK PRIMARY KEY(CUSTOMER_NO),    


should be:

CUSTOMER_NO NUMBER(8,0)
  CONSTRAINT CUSTOMER_PK PRIMARY KEY,    

note: the NOT NULL constaint is not specified for primary keys because primary keys are implicitly not null
0
Determine the Perfect Price for Your IT Services

Do you wonder if your IT business is truly profitable or if you should raise your prices? Learn how to calculate your overhead burden with our free interactive tool and use it to determine the right price for your IT services. Download your free eBook now!

jumproosterCommented:
additional note: your code for the primary key PRIMARY KEY(CUSTOMER_NO)

the (CUSTOMER_NO) is not required because it already knows that you are specifying PRIMARY KEY on the CUSTOMER_NO column of this table
0
Guy Hengel [angelIII / a3]Billing EngineerCommented:
as commented on your other question:
http://www.experts-exchange.com/Database/Oracle/Q_24551544.html
CREATE TABLE CUSTOMER                           
  ( CUSTOMER_NO NUMBER(8,0) NOT NULL    
  , CUSTOMER_NAME   VARCHAR2(50) NOT NULL
  , CUSTOMER_TYPE CHAR(1)
  , ATTENTION_NAME VARCHAR2(30)
  , ADDRESS_1_BILL VARCHAR2(50)
  , ADDRESS_2_BILL VARCHAR2(50)
  , CITY_BILL VARCHAR2(30)
  , STATE_BILL VARCHAR2(20)
  , ZIPCODE_BILL NUMBER(5,0)
  , COUNTRY_BILL VARCHAR2(30)
  , CONSTRAINT CUSTOMER_PK PRIMARY KEY(CUSTOMER_NO)           
  , CONSTRAINT CUST_TYPE CHECK (CUSTOMER_TYPE IN ('B', 'C', 'S'))
);

Open in new window

0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
mrjoltcolaCommented:
Hi Beth, I will point out that you ignored other correct answers in this question, prior to angelIII. For the future it might be a good idea to read all expert's post prior, even if angelIII is your favorite expert (he is mine too! :)  hehehehe)

mrjoltcola

0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Query Syntax

From novice to tech pro — start learning today.