我写:
>:CREATE TABLE Person(
>:名称CHAR(10),
>:
>:ssn INTEGER);
并将其保存到文件“a.sql”(冒号表示行的开头,不在实际代码中.)
如果我然后在sql * Plus命令提示符下键入“@a”来运行它,它将告诉我以“ssn”开头的行不被识别为命令,并被忽略.
从我收集的内容来看,如果sqlplus连续遇到多个换行符,它似乎会终止命令.这是一个准确的陈述吗?如果是这样,有人知道这是否必要/为什么选择这样做?
解决方法
我不知道原因,但是一个完全空白的行终止了sql * Plus中的命令.
>用分号(;)
>在一条线上单独使用斜杠(/)
>用一个空行
您还可以使用SET sqlBLANKLINES更改空白行的处理方式
sqlBL[ANKLINES] {ON|OFF}
Controls whether sql*Plus allows blank lines within a sql command or script. ON interprets blank lines and new lines as part of a sql command or script. OFF,the default value,does not allow blank lines or new lines in a sql command or script or script.
Enter the BLOCKTERMINATOR to stop sql command entry without running the sql command. Enter the sqlTERMINATOR character to stop sql command entry and run the sql statement.