Oracle创建表
我正在尝试使用oracle创建具有外键的表。我的语法如下Oracle创建表,oracle,ddl,Oracle,Ddl,我正在尝试使用oracle创建具有外键的表。我的语法如下 CREATE TABLE product ( product_id INT(7) NOT NULL, supplier_id INT(7) NOT NULL, product_name VARCHAR2(30), product_price DOUBLE(4), product_category VARCHAR2(30), product_brand VARCH
CREATE TABLE product (
product_id INT(7) NOT NULL,
supplier_id INT(7) NOT NULL,
product_name VARCHAR2(30),
product_price DOUBLE(4),
product_category VARCHAR2(30),
product_brand VARCHAR2(20),
product_expire DATE,
PRIMARY KEY (product_id),
FOREIGN KEY (supplier_id)
)
我犯了个错误,说
命令行错误:2列:14错误报告:SQL错误:ORA-00907:
缺少右括号
90700000-缺少右括号
*原因:
*行动:
请帮忙 外键应该引用另一个表上的另一列 如何使用外键的正确语法编写查询
CREATE TABLE product(
product_id number(7) NOT NULL,
supplier_id number(7) NOT NULL,
product_name VARCHAR(30),
product_price DOUBLE PRECISION,
product_category VARCHAR(30),
product_brand VARCHAR(20),
product_expire DATE,
PRIMARY KEY (product_id),
FOREIGN KEY (supplier_id)
REFERENCES parent_table (supplier_id)
);
另外,将product_price列的数据类型从DOULBE4更改为NUMBER12,4
外键应该引用另一个表上的另一列 如何使用外键的正确语法编写查询
CREATE TABLE product(
product_id number(7) NOT NULL,
supplier_id number(7) NOT NULL,
product_name VARCHAR(30),
product_price DOUBLE PRECISION,
product_category VARCHAR(30),
product_brand VARCHAR(20),
product_expire DATE,
PRIMARY KEY (product_id),
FOREIGN KEY (supplier_id)
REFERENCES parent_table (supplier_id)
);
另外,将product_price列的数据类型从DOULBE4更改为NUMBER12,4
您不应该对int类型使用limit…oracle将采用int类型的默认长度。 您可以使用数字类型而不是int使其运行。在oracle中,双精度是一种数据类型,但不存在双精度。此外,外键的语法是错误的。 因此,此查询肯定会起作用:
CREATE TABLE product(
product_id number(7) NOT NULL,
supplier_id number(7) NOT NULL,
product_name VARCHAR2(30),
product_price DOUBLE PRECISION,
product_category VARCHAR2(30),
product_brand VARCHAR2(20),
product_expire DATE,
PRIMARY KEY (product_id),
FOREIGN KEY (supplier_id)
REFERENCES parent_table (supplier_id)
);
您不应该对int类型使用limit…oracle将采用int类型的默认长度。 您可以使用数字类型而不是int使其运行。在oracle中,双精度是一种数据类型,但不存在双精度。此外,外键的语法是错误的。 因此,此查询肯定会起作用:
CREATE TABLE product(
product_id number(7) NOT NULL,
supplier_id number(7) NOT NULL,
product_name VARCHAR2(30),
product_price DOUBLE PRECISION,
product_category VARCHAR2(30),
product_brand VARCHAR2(20),
product_expire DATE,
PRIMARY KEY (product_id),
FOREIGN KEY (supplier_id)
REFERENCES parent_table (supplier_id)
);
创建类似于外键引用的父表,该表是创建外键的正确语法
CREATE TABLE product(
product_id number(7) NOT NULL,
supplier_id number(7) NOT NULL,
product_name VARCHAR(30),
product_price DOUBLE PRECISION,
product_category VARCHAR(30),
product_brand VARCHAR(20),
product_expire DATE,
PRIMARY KEY (product_id),
FOREIGN KEY (supplier_id)
REFERENCES parent_table (supplier_id)
);
创建类似于外键引用的父表,该表是创建外键的正确语法
CREATE TABLE product(
product_id number(7) NOT NULL,
supplier_id number(7) NOT NULL,
product_name VARCHAR(30),
product_price DOUBLE PRECISION,
product_category VARCHAR(30),
product_brand VARCHAR(20),
product_expire DATE,
PRIMARY KEY (product_id),
FOREIGN KEY (supplier_id)
REFERENCES parent_table (supplier_id)
);
您的外键似乎非常缺少。您的外键似乎非常缺少。他使用的是Oracle数据库,而不是Oracle MySQL。您尝试过,但仍然出错!从命令的第1行开始出现错误:创建表supplier\u id numeric10不为空,supplier\u name varchar230不为空,supplier\u price double5,supplier\u address varchar250,supplier\u phone varchar15,命令行中的约束供应商\u pk主键供应商\u id错误:4列:23错误报告:SQL错误:ORA-00905:缺少关键字00905。00000-缺少关键字*原因:*操作:@user2714726将product_price列的数据类型从DOUBLE4更改为数字12,4。谢谢大家!我把一切都搞定了finally@user2714726如果这对您有效,请不要忘记将答案标记为正确。他使用的是Oracle数据库,而不是Oracle MySQL。您已经尝试过了,但仍然出现错误!从命令的第1行开始出现错误:创建表supplier\u id numeric10不为空,supplier\u name varchar230不为空,supplier\u price double5,supplier\u address varchar250,supplier\u phone varchar15,命令行中的约束供应商\u pk主键供应商\u id错误:4列:23错误报告:SQL错误:ORA-00905:缺少关键字00905。00000-缺少关键字*原因:*操作:@user2714726将product_price列的数据类型从DOUBLE4更改为数字12,4。谢谢大家!我把一切都搞定了finally@user2714726如果这对你有效,不要忘记将答案标记为正确