Обсуждение: Problem in creating a table
Hi Gurus, When I try to create a table by a script I get a error as follows, ##################################################### [postgres@demo pgsql]$ psql -d postgres -e -f /opt/rapisa/sql/TD_ACCESSCOUNT.sql CREATE TABLE TD_ACCESSCOUNT( AC_YEAR NUMBER(4,0) NOT NULL, AC_MONTH NUMBER(2,0) NOT NULL, AC_DAYS NUMBER(2,0) NOT NULL, OFFICE_ID VARCHAR2(7) NOT NULL, AC_COUNT NUMBER(6,0) DEFAULT 0, PRIMARY KEY("AC_YEAR","AC_MONTH","AC_DAYS","OFFICE_ID") ) TABLESPACE RAPIS; psql:/opt/rapisa/sql/TD_ACCESSCOUNT.sql:14: ERROR: syntax error at or near "(" at character 52 ##################################################### I really don't know what is wrong with it and do appreciate it if anyone would point out it. The version of Postgresql is 7.4.7. Thanks in advance. --Wen
On Tue, 17 May 2005 15:47:55 +0900, "Wen Guangcheng" <wen@microcourt.co.jp> wrote: > OFFICE_ID VARCHAR2(7) NOT NULL, This used to be oracle? drop the 2 from the varchar. klint. +---------------------------------------+-----------------+ : Klint Gore : "Non rhyming : : EMail : kg@kgb.une.edu.au : slang - the : : Snail : A.B.R.I. : possibilities : : Mail University of New England : are useless" : : Armidale NSW 2351 Australia : L.J.J. : : Fax : +61 2 6772 5376 : : +---------------------------------------+-----------------+
Wen Guangcheng wrote: > Hi Gurus, > > When I try to create a table by a script I get a error as follows, > ##################################################### > [postgres@demo pgsql]$ psql -d postgres -e -f /opt/rapisa/sql/TD_ACCESSCOUNT.sql > > CREATE TABLE TD_ACCESSCOUNT( > AC_YEAR NUMBER(4,0) NOT NULL, > AC_MONTH NUMBER(2,0) NOT NULL, > AC_DAYS NUMBER(2,0) NOT NULL, > OFFICE_ID VARCHAR2(7) NOT NULL, ^^^^^^^^ I don't think there is a varchar2. > AC_COUNT NUMBER(6,0) DEFAULT 0, > PRIMARY KEY("AC_YEAR","AC_MONTH","AC_DAYS","OFFICE_ID") If you're going to quote names, ALWAYS quote them, otherwise let PG fold them to lower-case. -- Richard Huxton Archonet Ltd
Hi Klint, Thanks for your help. But the error message still exists even though the 2 was droped from the varchar. --Wen ----- Original Message ----- From: "Klint Gore" <kg@kgb.une.edu.au> To: "Wen Guangcheng" <wen@microcourt.co.jp> Cc: <pgsql-general@postgresql.org> Sent: Tuesday, May 17, 2005 4:17 PM Subject: Re: [GENERAL] Problem in creating a table > On Tue, 17 May 2005 15:47:55 +0900, "Wen Guangcheng" <wen@microcourt.co.jp> wrote: > > OFFICE_ID VARCHAR2(7) NOT NULL, > > This used to be oracle? drop the 2 from the varchar. > > klint. > > +---------------------------------------+-----------------+ > : Klint Gore : "Non rhyming : > : EMail : kg@kgb.une.edu.au : slang - the : > : Snail : A.B.R.I. : possibilities : > : Mail University of New England : are useless" : > : Armidale NSW 2351 Australia : L.J.J. : > : Fax : +61 2 6772 5376 : : > +---------------------------------------+-----------------+ >
On Tue, 17 May 2005 16:33:33 +0900, "Wen Guangcheng" <wen@microcourt.co.jp> wrote: > Hi Klint, > > Thanks for your help. > But the error message still exists even though the 2 was droped from the varchar. try taking the double quotes out of the primary key (as richard said) and change number to numeric klint. +---------------------------------------+-----------------+ : Klint Gore : "Non rhyming : : EMail : kg@kgb.une.edu.au : slang - the : : Snail : A.B.R.I. : possibilities : : Mail University of New England : are useless" : : Armidale NSW 2351 Australia : L.J.J. : : Fax : +61 2 6772 5376 : : +---------------------------------------+-----------------+
Try this
CREATE TABLE test.TD_ACCESSCOUNT(
AC_YEAR NUMERIC(4,0) NOT NULL,
AC_MONTH NUMERIC(2,0) NOT NULL,
AC_DAYS NUMERIC(2,0) NOT NULL,
OFFICE_ID VARCHAR(7) NOT NULL,
AC_COUNT NUMERIC(6,0) DEFAULT 0,
PRIMARY KEY(AC_YEAR,AC_MONTH,AC_DAYS,OFFICE_ID)
)
CREATE TABLE test.TD_ACCESSCOUNT(
AC_YEAR NUMERIC(4,0) NOT NULL,
AC_MONTH NUMERIC(2,0) NOT NULL,
AC_DAYS NUMERIC(2,0) NOT NULL,
OFFICE_ID VARCHAR(7) NOT NULL,
AC_COUNT NUMERIC(6,0) DEFAULT 0,
PRIMARY KEY(AC_YEAR,AC_MONTH,AC_DAYS,OFFICE_ID)
)
2005/5/17, Wen Guangcheng <wen@microcourt.co.jp>:
Hi Klint,
Thanks for your help.
But the error message still exists even though the 2 was droped from the varchar.
--Wen
----- Original Message -----
From: "Klint Gore" < kg@kgb.une.edu.au>
To: "Wen Guangcheng" <wen@microcourt.co.jp>
Cc: <pgsql-general@postgresql.org>
Sent: Tuesday, May 17, 2005 4:17 PM
Subject: Re: [GENERAL] Problem in creating a table
> On Tue, 17 May 2005 15:47:55 +0900, "Wen Guangcheng" <wen@microcourt.co.jp > wrote:
> > OFFICE_ID VARCHAR2(7) NOT NULL,
>
> This used to be oracle? drop the 2 from the varchar.
>
> klint.
>
> +---------------------------------------+-----------------+
> : Klint Gore : "Non rhyming :
> : EMail : kg@kgb.une.edu.au : slang - the :
> : Snail : A.B.R.I. : possibilities :
> : Mail University of New England : are useless" :
> : Armidale NSW 2351 Australia : L.J.J. :
> : Fax : +61 2 6772 5376 : :
> +---------------------------------------+-----------------+
>
---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to majordomo@postgresql.org so that your
message can get through to the mailing list cleanly
Wen Guangcheng wrote: > Hi Gurus, Hi! > CREATE TABLE TD_ACCESSCOUNT( > AC_YEAR NUMBER(4,0) NOT NULL, > AC_MONTH NUMBER(2,0) NOT NULL, > AC_DAYS NUMBER(2,0) NOT NULL, > OFFICE_ID VARCHAR2(7) NOT NULL, > AC_COUNT NUMBER(6,0) DEFAULT 0, > PRIMARY KEY("AC_YEAR","AC_MONTH","AC_DAYS","OFFICE_ID") > ) > TABLESPACE RAPIS; ^^^^^^^^^^ > psql:/opt/rapisa/sql/TD_ACCESSCOUNT.sql:14: ERROR: syntax error at or near "(" at character 52 > ##################################################### > > I really don't know what is wrong with it and do appreciate it if anyone would > point out it. The version of Postgresql is 7.4.7. > Thanks in advance. Tablespace wasn't supported until 8.0 regards, Robin
Hello, Yes.it works. Thanks a lots to all of you. Cheers, --Wen ----- Original Message ----- From: Dan Black To: Wen Guangcheng Cc: pgsql-general@postgresql.org Sent: Tuesday, May 17, 2005 4:47 PM Subject: Re: [GENERAL] Problem in creating a table Try this CREATE TABLE test.TD_ACCESSCOUNT( AC_YEAR NUMERIC(4,0) NOT NULL, AC_MONTH NUMERIC(2,0) NOT NULL, AC_DAYS NUMERIC(2,0) NOT NULL, OFFICE_ID VARCHAR(7) NOT NULL, AC_COUNT NUMERIC(6,0) DEFAULT 0, PRIMARY KEY(AC_YEAR,AC_MONTH,AC_DAYS,OFFICE_ID) ) 2005/5/17, Wen Guangcheng <wen@microcourt.co.jp>: Hi Klint, Thanks for your help. But the error message still exists even though the 2 was droped from the varchar. --Wen ----- Original Message ----- From: "Klint Gore" < kg@kgb.une.edu.au> To: "Wen Guangcheng" <wen@microcourt.co.jp> Cc: <pgsql-general@postgresql.org> Sent: Tuesday, May 17, 2005 4:17 PM Subject: Re: [GENERAL] Problem in creating a table > On Tue, 17 May 2005 15:47:55 +0900, "Wen Guangcheng" <wen@microcourt.co.jp > wrote: > > OFFICE_ID VARCHAR2(7) NOT NULL, > > This used to be oracle? drop the 2 from the varchar. > > klint. > > +---------------------------------------+-----------------+ > : Klint Gore : "Non rhyming : > : EMail : kg@kgb.une.edu.au : slang - the : > : Snail : A.B.R.I. : possibilities : > : Mail University of New England : are useless" : > : Armidale NSW 2351 Australia : L.J.J. : > : Fax : +61 2 6772 5376 : : > +---------------------------------------+-----------------+ > ---------------------------(end of broadcast)--------------------------- TIP 3: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to majordomo@postgresql.org so that your message can get through to the mailing list cleanly
Wen Guangcheng wrote: Hi, > TABLESPACE RAPIS; > psql:/opt/rapisa/sql/TD_ACCESSCOUNT.sql:14: ERROR: syntax error at or near "(" at character 52 > I really don't know what is wrong with it and do appreciate it if anyone would > point out it. The version of Postgresql is 7.4.7. > Thanks in advance. Tablespace wasn't supported until 8.0 regards, Robin