Oracle SQL无效标识符

Oracle SQL无效标识符,oracle,stored-procedures,Oracle,Stored Procedures,我检查了一些SQL无效标识符解决方案,但没有一个能帮助我解决问题 CREATE OR REPLACE PROCEDURE add_order( p_cust_id cust_order.cust_id%TYPE, p_order_id cust_order.order_id%TYPE, p_order_date cust_order.order_date%TYPE, p_sales_made_by cust_order.sales_made_by%TY

我检查了一些SQL无效标识符解决方案,但没有一个能帮助我解决问题

CREATE OR REPLACE PROCEDURE add_order(
  p_cust_id       cust_order.cust_id%TYPE,
  p_order_id      cust_order.order_id%TYPE,
  p_order_date    cust_order.order_date%TYPE,
  p_sales_made_by cust_order.sales_made_by%TYPE,
  p_qty           cust_order.qty%TYPE,
  p_product_id    cust_order.product_id%TYPE,
  p_cust_charged  cust_order.cust_charged%TYPE,
  p_company_price cust_order.company_price%TYPE,
  p_shipper_id    cust_order.shipper_id%TYPE)
IS
  BEGIN
    IF p_shipper_id = 'FEDEX' OR p_shipper_id = 'USPS' OR p_shipper_id = 'CUST' THEN

      INSERT INTO productss (cust_id, order_id, order_date, sales_made_by, qty,
                             product_id, cust_charged, company_price, shipper_id)
      VALUES (p_cust_id, p_order_id, p_order_date, p_sales_made_by, p_qty,
              p_product_id, p_cust_charged, p_company_price, p_shipper_id);   

    ELSE
      dbms_output.PUT_LINE('This shipper IS NOT allowed');
    END IF;
  END add_order;
/
错误是:

   17/1     PL/SQL: SQL Statement ignored
   17/116   PL/SQL: ORA-00904: "SHIPPER_ID": invalid identifier
这是表格:

   CREATE TABLE CUST_ORDER
   (
  CUST_ID        NUMBER(15),
  ORDER_ID       NUMBER(20),
  ORDER_DATE     DATE,
  SALES_MADE_BY  VARCHAR(40),
  QTY            NUMBER,
  PRODUCT_ID     NUMBER,
  CUST_CHARGED   NUMBER,
  COMPANY_PRICE  NUMBER,
  SHIPPER_ID     NUMBER,
  PRIMARY KEY (ORDER_ID),
  FOREIGN KEY (CUST_ID) REFERENCES CUST_INFO(CUST_ID),
  FOREIGN KEY (PRODUCT_ID) REFERENCES PRODUCTS(PRODUCT_ID)
  FOREIGN KEY (SHIPPER_ID) REFERENCES SHIPPING(SHIPPER_ID)
 );
我想这是一个明显的错误,但我工作太多了。

产品表名称中有一个额外的“S”:

 INSERT INTO PRODUCTSS
                     ^

正如@Alex Poole所指出的,考虑到进程的命名,您似乎插入到了错误的表中。

插入语句中的Products是什么?你指的是产品吗?为什么你要插入一个产品表,不管它的拼写如何;鉴于您是如何定义参数的,您不应该将其插入客户订单吗?