【问题标题】:ORA-00936: missing expression for DELETE statement & VIEW in Oracle 11gORA-00936: Oracle 11g 中的 DELETE 语句和视图缺少表达式
【发布时间】:2020-04-22 00:52:56
【问题描述】:

当我尝试在 Oracle 11g 中创建 DELETE 语句和 VIEW 时,收到消息“ORA-00936:缺少表达式”。

删除声明: 这是创建的原始表:

    CREATE TABLE SHIPMENT
    (
    ShipmentID INT PRIMARY KEY,
    ShipperID INT NOT NULL REFERENCES SHIPPER(ShipperID),
    ShipperInvoiceNumber INT NOT NULL UNIQUE,
    Origin VARCHAR2(30) NOT NULL,
    Destination VARCHAR2(30) NOT NULL,
    DepartureDate DATE,
    ArrivalDate DATE
    );  

这是我要使用的 DELETE 语句:

    DELETE SHIPMENT WHERE ShipmentID = <ShipmentID TO DELETE>;

查看: 这是我要创建的视图:

    CREATE VIEW PurchaseSummaryView AS
    SELECT PurchaseID, [Date], Description, AND PriceUSD
    FROM PURCHASE_ITEM;​

这是为它创建的表:

    CREATE TABLE PURCHASE_ITEM
    (
    PurchaseItemID INT PRIMARY KEY,
    StoreID INT NOT NULL REFERENCES STORE(StoreID),
    "Date" DATE NOT NULL,
    Description VARCHAR2(30) NOT NULL,
    Category VARCHAR2(30),
    PriceUsed NUMBER(15, 2)
    );

我并不像我想的那样熟悉 Oracle 11g。我犯了什么简单的错误?

【问题讨论】:

  • [DATE] 不是 Oracle 语法。
  • 给出错误所指的行可能会有所帮助。并在视图创建语句中:“ CREATE VIEW PurchaseSummaryView AS SELECT PurchaseID, [Date], Description, AND PriceUSD FROM PURCHASE_ITEM;​” “AND”看起来很奇怪,可能你可以删除它

标签: sql oracle11g scripting


【解决方案1】:

请创建如下视图

 CREATE OR REPLACE  VIEW PurchaseSummaryView AS
 SELECT PurchaseID, "Date", Description, PriceUSD
 FROM PURCHASE_ITEM;​

而且delete 声明应该没问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-22
    • 2013-02-15
    • 2017-08-31
    • 1970-01-01
    • 2017-12-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多