C# 创建表查询错误

C# 创建表查询错误,c#,database,oracle,C#,Database,Oracle,此命令不起作用。请帮助需要使用约束明确指定约束,如下所示 如果您不止一次地使用c#创建一个表,我会稍微质疑是否需要使用c#创建一个表。为什么数据库中还没有呢 on delete no action是最常用的,实际上不需要指定 command.CommandText = "CREATE TABLE daily_prostock (product_id varchar2(30),daily_prounit number(30) not null,day varchar2(30),FOREIGN KE

此命令不起作用。请帮助需要使用
约束
明确指定约束,如下所示

如果您不止一次地使用c#创建一个表,我会稍微质疑是否需要使用c#创建一个表。为什么数据库中还没有呢

on delete no action
是最常用的,实际上不需要指定

command.CommandText = "CREATE TABLE daily_prostock (product_id varchar2(30),daily_prounit number(30) not null,day varchar2(30),FOREIGN KEY (product_id) REFERENCES product_description (product_id) ON DELETE NO ACTION  )";
command.ExecuteNonQuery();

OnDelete no action已被删除,因为它将导致错误,因为它是Oracle中的默认级联

正如Raphaël Althaus指出的,有一个no action选项,它实际上是默认选项,因此从表定义中省略OnDelete将启动此行为。Oracle中没有“ON DELETE no ACTION”。ON DELETE的选项设置为NULL或NULL 级联:


“不工作”并没有那么具体,请参阅提供更多信息。什么版本的甲骨文。什么不起作用?有错误吗?请发布一个更完整的例子。我喜欢这些猜谜游戏…错了。它存在(>9i),但不能在CREATETABLE语句中使用。谢谢我会修改答案。
CREATE TABLE daily_prostock (
     product_id varchar2(30)
   , daily_prounit number(30) not null
   , day varchar2(30)
   , constraint daily_prostock_fk
        FOREIGN KEY (product_id) 
       REFERENCES product_description (product_id) )
CREATE TABLE daily_prostock (
product_id varchar2(30),
daily_prounit number(30) not null,
day varchar2(30),
constraint fkproduct 
FOREIGN KEY (product_id) REFERENCES product_description (product_id) )
CREATE TABLE daily_prostock (
  product_id varchar2(30),
  daily_prounit number(30) not null,
  day varchar2(30),
  FOREIGN KEY (product_id) 
  REFERENCES product_description (product_id) 
)