繁体   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