Oracle11g 如何在Oracle/SQL中创建表,其中一列由其他表中的列计算
我想创建一个名为ORDERS的表,列为ORDER\u ID、CUSTOMER\u ID引用CustomerCustomer\u ID、ITEM\u代码引用itemsITEM\u代码、QUANTITY和AMOUNT。 我有一个名为ITEMS的表,其中包含ITEM\u CODE、ITEM\u NAME和PRICE列。 在ORDERS表中,我希望通过将Item表中的PRICE和ORDERS表中的QUANTITY相乘来自动填充AMOUNT列。 我试过了Oracle11g 如何在Oracle/SQL中创建表,其中一列由其他表中的列计算,oracle11g,Oracle11g,我想创建一个名为ORDERS的表,列为ORDER\u ID、CUSTOMER\u ID引用CustomerCustomer\u ID、ITEM\u代码引用itemsITEM\u代码、QUANTITY和AMOUNT。 我有一个名为ITEMS的表,其中包含ITEM\u CODE、ITEM\u NAME和PRICE列。 在ORDERS表中,我希望通过将Item表中的PRICE和ORDERS表中的QUANTITY相乘来自动填充AMOUNT列。 我试过了 create table orders ( Ord
create table orders
(
Order_ID number not null primary key,
Customer_ID references customers(Customer_ID),
Item_Code references items(Item_Code),
Quantity number as (select (i.price*o.Quantity) from items i, orders o where i.Item_code=o.item_code)
);
但它并没有像预期的那样工作。有人能帮我解决这个问题吗?您必须使用触发器而不是查询作为默认值谢谢。如果你不介意的话,你能解释一下吗