无法在ubuntu命令行中运行sql文件

无法在ubuntu命令行中运行sql文件,sql,oracle,Sql,Oracle,我在命令行中键入了以下查询,它运行正常,但当我尝试通过命令@..../filename.sql运行它时,第一个查询运行正常,但第二个查询不运行……我不知道为什么。我需要帮助。 我收到的错误消息也会被读取 SP2-0042未知命令“)”-忽略行的其余部分 这是一个问题 /** Query 1: works through terminal and by calling @.../filename.sql**/ CREATE TABLE CUSTOMER ( cID NUMBER NOT NU

我在命令行中键入了以下查询,它运行正常,但当我尝试通过命令@..../filename.sql运行它时,第一个查询运行正常,但第二个查询不运行……我不知道为什么。我需要帮助。
我收到的错误消息也会被读取 SP2-0042未知命令“)”-忽略行的其余部分

这是一个问题

/** Query 1: works through terminal and by calling @.../filename.sql**/

CREATE TABLE CUSTOMER
( cID   NUMBER NOT NULL,
  firstName     VARCHAR2(50) NOT NULL,
  lastName  VARCHAR2(50) NOT NULL,
  streetAddress VARCHAR2(50),
    CONSTRAINT CUSTOMER_PK PRIMARY KEY (customerID) 
);

/**Query2: only works through terminal**/

CREATE TABLE ADDRESS
( 
  cID   NUMBER NOT NULL,
  city          VARCHAR2(50) NOT NULL,
  zipCode       VARCHAR2(50) NOT NULL,
    CONSTRAINT FK_CUSTOMER_ADDRESS FOREIGN KEY (cID) REFERENCES CUSTOMER(cID) ON UPDATE CASCADE

);

SQLPlus不喜欢DDL中间的空行(对于非过程对象)。删除右括号前的空行,或者在运行DDL之前运行

将sqlblanklines设置为on

Oracle不支持更新级联上的
,它只支持删除级联上的


因此,除了空行(Allan已经指出),您还需要删除外键的更新级联上的

您能详细说明它是如何工作的吗?它是否会产生错误消息?或者它只是被忽略了吗?我正在读取的错误消息读取SP2-042未知命令“”-其余的线IGORORDI尝试设置SqLBLANCKION,并在结束括号之前移除空白行,并且这次产生了另一个错误消息ORA-900905:缺少关键字。