簡體   English   中英

為什么在創建表時出現錯誤,Oracle錯誤代碼為:“ ORA-00903:無效的表名”

[英]Why I'm getting Error while creating Table ,Oracle Error Code is : “ORA-00903: invalid table name”

引用表的所有詳細信息均已填寫。我的創建語句為:-

我正在使用Oracle 10g Express Edition

create table Sales_order
(
S_order_no  varchar2(6) Primary key check( S_order_no like '0%'),
S_order_date    Date ,  
Client_no   Varchar2(25)    references as CLIENT_MASTER ,
Dely_add    Varchar2(6) ,
Salesman_no Varchar2(6) references as SALES_MASTER ,
Dely_type   Char(1)   check( Dely_type in ('p','f')) default 'f',
Billed_yn   Char(1),    
Dely_date   Date    check ( Dely_date <  s_order_date),
Order_status    Varchar2(10) check (Order_status in ('in process','fulfilled','back order','canceled'))
)

我收到了Oracle錯誤“ ORA-00903:無效的表名”

一些錯誤。

  • as在引用其他表時無效
  • default應在檢查約束之前(第8行)
  • 列級檢查約束不能引用表中的其他列(第10行),但是表級可以(如注釋中的鏈接上顯示的@a_horse_with_no_name所示,我在此處進行了復制)。 或者,您可以使用觸發器。

SQL> create table client_master (client_no varchar2(25) primary key);

Table created.

SQL> create table sales_master (salesman_no varchar2(25) primary key);

Table created.

SQL> create table sales_order
  2  (
  3  s_order_no    varchar2(6) primary key check( s_order_no like '0%'),
  4  s_order_date  date ,
  5  client_no     varchar2(25)    references  client_master ,
  6  dely_add      varchar2(6) ,
  7  salesman_no   varchar2(6) references  sales_master ,
  8  dely_type     char(1) default 'f'  check( dely_type in ('p','f')) ,
  9  billed_yn     char(1),
 10  dely_date     date,
 11  order_status  varchar2(10) check (order_status in ('in process','fulfilled','back order','canceled')),
 12                check ( dely_date <  s_order_date)
 13  );

Table created.

SQL>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM