Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> Re: New SQLPLUS question (new SQL student)
On Sun, 14 Oct 2001 21:03:43 GMT, "Yuval Sverdlik"
<ysverdlik_at_nj.rr.com> wrote:
>Hi I have a basic easy question. I am learning how to create tables and am
>getting this error when I proform the CREATE TABLE command. Any Help?
>
>SQL> CREATE table Ordr_Data
> 2 (
> 3 Order_id NUMBER(10) CONSTRAINT pk_order_data_order_id PRIMARY KEY,
> 4 Cust_id NUMBER(5) NOT NULL,
> 5 Sales_rep_id NUMBER(5) NOT NULL,
> 6 Prod_id NUMBER(10) NOT NULL CONSTRAINT uq_ordr_data_prod_id UNIQUE,
> 7 Quantity NUMBER CONSTRAINT ck_quantity CHECK(Quantity <= 1000),
> 8 Order_date DATE NOT NULL,
> 9 Order_Stat VARCHAR2(10) NOT NULL,
> 10 Ship_Date DATE NOT NULL,
> 11 Org_User_id NUMBER(5) NOT NULL,
> 12 Org_User_Date DATE NOT NULL,
> 13 Upd_User_id NUMBER(5),
> 14 Upd_User_Date DATE,
> 15 CONSTRAINT uq_Ordr_Data_Custid_ordrdt UNIQUE (cust_id,Order_date),
> 16 ck_Ordr_data_order_date CHECK (Order_date > '01-JAN-01'));
>ck_Ordr_data_order_date CHECK (Order_date > '01-JAN-01'))
> *
>ERROR at line 16:
>ORA-02438: Column check constraint cannot reference other columns
>
>
>
>
hi,
there is the keyword CONSTRAINT missing in line 16. So Oracle thinks "ck_Ordr_data_order_date" is a column name.
Tip: avoid implicit date conversion! Don't rely on the default format mask! Don't rely on default NLS-Parameters! Use digits for months! Use always four digit years!
In you example I would use:
(Order_date > TO_DATE('01-01-2001','dd-mm-yyyy'))
bye
Marc Blum
mailto:marc_at_marcblum.de
http://www.marcblum.de
Received on Mon Oct 15 2001 - 02:26:30 CDT
![]() |
![]() |